Skip to content

Latest commit

 

History

History
63 lines (47 loc) · 1.96 KB

File metadata and controls

63 lines (47 loc) · 1.96 KB

Contributing to aftlog

Thanks for helping make AI-assisted development easier to inspect and recover. Focused bug fixes, tests, documentation improvements, and small features are welcome.

Before opening a change

  • Search existing issues and pull requests for related work.
  • Open an issue before a large feature or architecture change so the scope can be agreed on first.
  • Never include real API keys, credentials, private transcripts, or personal paths in fixtures, screenshots, reports, or logs.
  • Keep aftlog observe-only. A change that blocks or rewrites agent actions needs explicit design discussion.

Local setup

You need a current stable Rust toolchain and Git.

git clone https://github.com/sathwik-mamidi/aftlog.git
cd aftlog
cargo build
cargo test --all-targets --all-features

Use an isolated runtime directory while testing so development sessions do not mix with your normal aftlog data:

export AFTLOG_HOME="$(mktemp -d)"
cargo run -- doctor

Hook installer changes should always be exercised with --dry-run first.

Quality checks

Run the same checks as CI before opening a pull request:

cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets --all-features

Add regression tests for behavior changes. Revert and attribution changes need tests that cover pre-existing dirty work, untracked files, low-confidence paths, failure handling, or whichever safety boundary is affected.

Pull requests

  • Keep the change narrowly scoped.
  • Explain the user-visible behavior and the failure mode being addressed.
  • Include manual verification steps when hooks, filesystem watching, or report output changes.
  • Call out compatibility assumptions for Claude Code, Codex, Git, or a target operating system.
  • Update the README when commands, support status, or known limitations change.

By contributing, you agree that your contribution is licensed under the project's MIT License.