Contributing¶
Getting Started¶
# 1. Fork & clone
git clone https://github.com/YOUR_USERNAME/file-flux.git
cd file-flux
# 2. Install prerequisites
# Go 1.23+, Node.js 20+, just, Docker
brew install go node just docker
# 3. Setup
just setup
# 4. Start development
just dev
Development Workflow¶
- Create a feature branch from
develop - Make changes with tests
- Run
just check(lint + test + typecheck) - Commit with conventional commit messages
- Open a PR against
develop
Branch Strategy¶
| Branch | Purpose |
|---|---|
main |
Production-ready, tagged releases only |
develop |
Integration branch for features |
feature/* |
Feature branches |
fix/* |
Bug fix branches |
release/* |
Release preparation |
Commit Messages¶
Follow Conventional Commits:
feat(backend): add chunked file transfer engine
fix(agent): handle reconnection on network change
docs: update architecture overview
test(backend): add transfer service unit tests
chore: update Go dependencies
Pull Request Checklist¶
- [ ] Tests pass (
just test) - [ ] Linting passes (
just lint) - [ ] TypeScript compiles (
just typecheck) - [ ] Documentation updated if needed
- [ ] Conventional commit messages used
- [ ] No secrets or credentials committed
Project Structure¶
See Architecture Overview for component details.