Contributing
Thank you for contributing to Attestack.
Development setup
Section titled “Development setup”git clone https://github.com/kiket-dev/attestack.gitcd attestackrustup toolchain install stablecargo build./scripts/check.shInstall pre-commit hooks (optional):
pip install pre-commitpre-commit installProject layout
Section titled “Project layout”| Path | Purpose |
|---|---|
crates/attestack-core | Types, hashing, verification, signatures |
crates/attestack-store | Local .attestack/ store and bundles |
crates/attestack-cli | User-facing CLI |
crates/attestack-mcp | MCP server for agent integrations |
docs/ | Canonical documentation sources |
site/ | Astro Starlight docs site (synced from docs/) |
examples/ | Workflows and integration examples |
testdata/ | Golden fixtures for tests |
Quality gate
Section titled “Quality gate”Before opening a PR:
./scripts/check.sh # fmt + clippy + tests./scripts/smoke.sh # release binary e2e (optional)./scripts/build-docs.sh # docs site build (optional)- Unit tests live in each crate’s
src/(#[cfg(test)]) - CLI integration tests:
crates/attestack-cli/tests/ - Golden fixtures:
testdata/
Documentation
Section titled “Documentation”Edit files in docs/, then run node site/scripts/sync-content.mjs. Preview with cd site && npm run dev.
Security
Section titled “Security”Report vulnerabilities privately — see SECURITY.md in the repository root.
License
Section titled “License”By contributing, you agree that your contributions will be licensed under the MIT License.