Thank you for your interest in contributing to ClawGate!
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/clawgate - Install Zig 0.16+ from https://ziglang.org
- Build:
zig build - Run tests:
zig build test
# Build and run
zig build run -- --help
# Run tests
zig build testTo test the full system, run the daemons in separate terminals:
# Terminal 1: Generate keys (first time only)
zig build run -- keygen
# Terminal 2: Start agent daemon
zig build run -- --mode agent
# Terminal 3: Start resource daemon (connects to agent)
zig build run -- --mode resource --connect localhost:53280
# Terminal 4: Grant access and test
zig build run -- grant --read /tmp --ttl 1h
# Copy the token output, then:
zig build run -- token add "<token>"
zig build run -- ls /tmpKey points:
- Line length: 80 characters maximum
- Comments: Every function needs
///doc comments - Memory: Never store allocators in structs
- Formatting: Run
zig fmtbefore committing
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes
- Run tests:
zig build test - Run formatter:
zig fmt src/ - Commit with clear message
- Push and open a PR
Good first contributions:
- Bug fixes with test cases
- Documentation improvements
- Additional test coverage
- Performance improvements
Please open an issue first for:
- New features
- Architectural changes
- Breaking changes
Found a security issue? Please report it privately. See SECURITY.md.
By contributing, you agree that your contributions will be licensed under the MIT License.