kitty/local-agent.md
Kovid Goyal fab7ce90db
Some checks are pending
CI / Linux (python=3.14 cc=clang sanitize=1) (push) Waiting to run
CI / Linux (python=3.12 cc=gcc sanitize=0) (push) Waiting to run
CI / Linux (python=3.13 cc=gcc sanitize=1) (push) Waiting to run
CI / Linux package (push) Waiting to run
CI / Bundle test (macos-latest) (push) Waiting to run
CI / Bundle test (ubuntu-latest) (push) Waiting to run
CI / macOS Brew (push) Waiting to run
CI / Test ./dev.sh and benchmark (push) Waiting to run
CodeQL / CodeQL-Build (actions, ubuntu-latest) (push) Waiting to run
CodeQL / CodeQL-Build (c, macos-latest) (push) Waiting to run
CodeQL / CodeQL-Build (c, ubuntu-latest) (push) Waiting to run
CodeQL / CodeQL-Build (go, ubuntu-latest) (push) Waiting to run
CodeQL / CodeQL-Build (python, ubuntu-latest) (push) Waiting to run
Depscan / Scan dependencies for vulnerabilities (push) Waiting to run
Agent neutral instructions
2026-07-06 11:18:16 +05:30

2.2 KiB

initialize_command: make debug copy_resource: fonts

System Instructions & Project Context

Project Architecture & Stack

This is a multi-language repository. Adhere strictly to the idiomatic styling, patterns, and type safety of each respective language ecosystem present in the codebase. Do not mix patterns across language boundaries.

Rules for Code Generation

  • Type Safety: Enforce strict typing. Never use any or loose types.
  • Error Handling: Implement explicit error handling. Avoid silent failures or empty catch blocks.
  • Dependency Minimization: Use existing project utilities and native standard libraries before suggesting new external packages.
  • Local Context: Search the codebase for existing patterns before writing boilerplate structure from scratch.

Project Execution Workflows

You must always use the following custom scripts to build, verify, and test changes. Do not use generic toolchains such as go test or pytest or ./setup.py test.

🛠️ Build Commands

Execute the following command to compile all modules and check for syntax or type errors. Do not try to build go code using go build or similar generic commands.

make debug

🧪 Test Commands

Execute this command to run the test suite across all language domains:

./test.py

To isolate testing to a specific test use, use the test name without the leading "test" prefix. For example, to run a python test named test_my_function, use

./test.py my_function

To run all tests in a specific file, for example, in kitty_tests/screen.py, use

./test.py --module screen

To run a Go test named TestMyFunction, use:

./test.py MyFunction

Verification Pipeline

Before declaring a task complete, you must follow this exact verification lifecycle:

  1. Run the local Build Command to guarantee zero compilation or compilation-stage type errors.
  2. Run the local Test Command to run the full test suite
  3. If errors occur, analyze the stdout logs completely before writing a fix. Do not guess.
  4. If the change you have made is user facing, update the docs/changelog.rst file with a brief description of your changes