Thank you for your interest in contributing to skillc! This document provides guidelines and instructions for contributing.
- Rust 1.85 or later (we use Edition 2024)
- Just (command runner)
- pre-commit (for git hooks)
- Clone the repository
git clone https://github.com/govctl-org/skillc
cd skillc- Install development tools
# Install Just
cargo install just
# Install pre-commit hooks
pre-commit install- Build the project
just build| Command | Description |
|---|---|
just build |
Build release binary |
just test |
Run all tests |
just lint |
Run clippy lints |
just fmt |
Format code |
just pre-commit |
Run all pre-commit hooks |
just update-snapshots |
Update test snapshots |
just deny |
Run cargo-deny security audit |
just check |
Validate governed documents |
just render |
Render RFCs to markdown |
- Formatting: Code is formatted with
cargo fmt - Linting: Clippy runs with
cargo clippy --workspace -- -D warnings(warnings are errors) - Testing: All tests must pass before merging
We follow the Conventional Commits specification:
| Prefix | Description |
|---|---|
feat(scope) |
New feature |
fix(scope) |
Bug fix |
docs(scope) |
Documentation changes |
test(scope) |
Test additions/modifications |
refactor(scope) |
Code restructuring |
chore(scope) |
Maintenance tasks |
Examples:
feat(compiler): add progressive disclosure support
fix(resolver): handle symlinks in skill paths
docs(readme): update installation instructions
This project uses a governed workflow based on RFCs and work items:
- Work Items: All changes are tracked in
gov/work/ - RFCs: New features require RFCs in
gov/rfc/ - ADRs: Architectural decisions are recorded in
gov/adr/
Use govctl commands to manage governance:
govctl work list pending # List work items
govctl rfc list # List RFCs
govctl check # Validate all governed documents- Fork the repository
- Create a feature branch
- Make your changes
- Run
just pre-committo verify all checks pass - Submit a pull request
- Do not commit secrets or credentials
- Use
cargo denyto check for vulnerable dependencies - Report security issues via GitHub Security Advisories
- Check the README for project overview
- Review RFCs in
docs/rfc/for protocol specifications - Open an issue for questions or suggestions