33 lines
1.1 KiB
Markdown
33 lines
1.1 KiB
Markdown
|
|
# Contributing
|
||
|
|
|
||
|
|
Keep changes focused. Open an issue before adding a major feature or dependency. Semantic search, dashboards, remote syncing and background services are outside the project's scope.
|
||
|
|
|
||
|
|
## Checks
|
||
|
|
|
||
|
|
Requires Rust, a C compiler and Python 3 for the terminal tests.
|
||
|
|
|
||
|
|
```sh
|
||
|
|
cargo fmt --check
|
||
|
|
cargo clippy --locked --all-targets -- -D warnings
|
||
|
|
cargo test --locked
|
||
|
|
cargo build --release --locked
|
||
|
|
python3 tests/pty_smoke.py target/release/cont
|
||
|
|
```
|
||
|
|
|
||
|
|
Tests use fictional data. Terminal tests launch stub executables in place of real agents.
|
||
|
|
|
||
|
|
## Bug reports and fixes
|
||
|
|
|
||
|
|
Include steps to reproduce and the relevant agent version. For parser bugs, provide a minimal fictional JSONL or SQLite fixture. Add a regression test with bug fixes where practical.
|
||
|
|
|
||
|
|
Do not commit real session histories, caches, credentials or screenshots of private work.
|
||
|
|
|
||
|
|
## Code structure
|
||
|
|
|
||
|
|
- `src/parse.rs`: Pi, Claude Code, Codex and OMP JSONL parsing.
|
||
|
|
- `src/opencode.rs`: OpenCode SQLite reader.
|
||
|
|
- `src/index.rs`: session discovery and caching.
|
||
|
|
- `src/search.rs`: title and human-message search.
|
||
|
|
- `src/session.rs`: session metadata and agent launch commands.
|
||
|
|
- `src/ui.rs`: terminal UI.
|