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

53 lines
2.2 KiB
Markdown

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.
```bash
make debug
```
### 🧪 Test Commands
Execute this command to run the test suite across all language domains:
```bash
./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
```bash
./test.py my_function
```
To run all tests in a specific file, for example, in kitty_tests/screen.py, use
```bash
./test.py --module screen
```
To run a Go test named TestMyFunction, use:
```bash
./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