index.md 2.31 KiB
stage: Create
group: Code Creation
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
Code Suggestions development guidelines
Code Suggestions development setup
The recommended setup for locally developing and debugging Code Suggestions is to have all 3 different components running:
- IDE Extension (e.g. VSCode Extension)
- Main application configured correctly
- Model gateway
This should enable everyone to see locally any change in an IDE being sent to the main application transformed to a prompt which is then sent to the respective model.
Setup instructions
- Install and run locally the VSCode Extension
- Add the
"gitlab.debug": true,
info to the Code Suggestions development config- In VSCode navigate to the Extensions page and find "GitLab Workflow" in the list
- Open the extension settings by clicking a small cog icon and select "Extension Settings" option
- Check a "GitLab: Debug" checkbox.
- Add the
- Main Application
- Enable Feature Flags
code_suggestions_completion_api
andcode_suggestions_tokens_api
- In your terminal, navigate to a
gitlab
inside yourgitlab-development-kit
directory - Run
bundle exec rails c
to start a Rails console - Call
Feature.enable(:code_suggestions_completion_api)
andFeature.enable(:code_suggestions_tokens_api)
from the console
- In your terminal, navigate to a
- Run the GDK with
export CODE_SUGGESTIONS_BASE_URL=http://localhost:5052
- Enable Feature Flags
-
Setup Model Gateway
- Build tree sitter libraries
poetry run scripts/build-tree-sitter-lib.py
- Extra .env Changes for all debugging insights
- LOG_LEVEL=DEBUG
- LOG_FORMAT_JSON=false
- LOG_TO_FILE=true
- Watch the new log file
modelgateway_debug.log
, e.g.tail -f modelgateway_debug.log | fblog -a prefix -a suffix -a current_file_name -a suggestion -a language -a input -a parameters -a score -a exception
- Build tree sitter libraries