Contributing¶
Thank you for your interest in contributing to Arbiter-Bot!
Development Setup¶
-
Clone the repository:
-
Build the project:
-
Run tests:
Workflow¶
1. Create an Issue¶
Before starting work, create a GitHub issue to:
- Describe the problem or feature
- Discuss approach
- Get feedback
2. Create a Feature Branch¶
3. Implement with TDD¶
Follow TDD Workflow:
- Write failing test
- Implement to pass
- Refactor
4. Update Documentation¶
Every change must update relevant docs:
- ADRs (for architectural decisions)
- Requirements (
docs/spec/requirements.md) - Ledger (
docs/development/ledger.md) - READMEs
- CHANGELOG
5. Write Blog Post¶
Create a blog post in docs/blog/posts/:
---
date: YYYY-MM-DD
authors:
- your-author-id
categories:
- relevant-category
tags:
- relevant-tags
---
# Title: Intent and Decision
Brief summary.
<!-- more -->
## Context
## Decision
## Implementation
## Verification
6. Council Review¶
Submit for Council Review.
7. Create Pull Request¶
PR description should include:
- Link to issue
- Summary of changes
- Test plan
- Documentation updates
8. Merge¶
After approval:
- Squash and merge to main
- Delete feature branch
- Close related issue
Code Style¶
- Follow Rust idioms and conventions
- Use
cargo fmtbefore committing - Use
cargo clippyto catch common issues - Write clear, descriptive commit messages
Questions?¶
Open an issue or discussion on GitHub.