kitty/.github/copilot-instructions.md
Kovid Goyal 07f1a7ac03
Some checks failed
CI / Linux (python=3.13 cc=clang sanitize=1) (push) Has been cancelled
CI / Linux (python=3.11 cc=gcc sanitize=0) (push) Has been cancelled
CI / Linux (python=3.12 cc=gcc sanitize=1) (push) Has been cancelled
CI / Linux package (push) Has been cancelled
CI / Bundle test (macos-latest) (push) Has been cancelled
CI / Bundle test (ubuntu-latest) (push) Has been cancelled
CI / macOS Brew (push) Has been cancelled
CI / Test ./dev.sh and benchmark (push) Has been cancelled
CodeQL / CodeQL-Build (actions, ubuntu-latest) (push) Has been cancelled
CodeQL / CodeQL-Build (c, macos-latest) (push) Has been cancelled
CodeQL / CodeQL-Build (c, ubuntu-latest) (push) Has been cancelled
CodeQL / CodeQL-Build (go, ubuntu-latest) (push) Has been cancelled
CodeQL / CodeQL-Build (python, ubuntu-latest) (push) Has been cancelled
Depscan / Scan dependencies for vulnerabilities (push) Has been cancelled
...
2026-05-09 22:33:00 +05:30

1.6 KiB

Before implementing any code changes or responding to a request, run the following command:

python3 .github/workflows/ci.py build

This will download needed dependencies, then create all generated files and build the project, making it ready for inspection.

Repository Build & Test Instructions

Build Procedures

  • Build command: Run ./dev.sh build to build the project
  • Run gen/config.py to update generated config parsing code for both kitty and kitten. The gen/go_code.py generator is run automatically by the build command to keep generated Go code files up to date.
  • To build individual kittens use the build command above do not try to run go build yourself.

Once a build is done, the kitty and kitten binaries will be in the kitty/launcher directory. Note that the kitty binary can run python files using kitty +launch file.py. When it does so the kitty fast_data_types module is available to the python code.

Test Procedures

  • To run the complete test suite, run ./test.py
  • To run a specific test, run ./test.py test_name where test_name is the name of the test without the leading test_ for Python tests and without the leading Test for Go tests.
  • Do not use go test or ./setup.py test to run tests

PR guidance

When creating a pull request, if the changes in the pull request are user visible compared to the previous kitty release, add an entry in the file docs/changelog.rst describing the change. If the changes include changes to Go code, run gofmt on the changed Go files to ensure they are formatted correctly, before submitting your changes.