3.0 KiB
3.0 KiB
CONTRIBUTING.md
How to contribute to Timmy Time Mission Control.
Philosophy
Read SOUL.md first. Timmy is a sovereignty project — every contribution should strengthen the user's control over their own AI, never weaken it.
Key values:
- Useful first, philosophical second
- Honesty over confidence
- Sovereignty over convenience
- Lines of code are a liability — delete as much as you create
Getting Started
- Fork the repo
- Clone your fork
- Set up the dev environment:
make install # creates .venv + installs deps
source .venv/bin/activate
See INSTALLATION.md for full prerequisites.
Development Workflow
Branch Naming
fix/<description> — bug fixes
feat/<description> — new features
refactor/<description> — refactors
docs/<description> — documentation
Running Tests
tox -e unit # fast unit tests (~17s)
tox -e lint # code quality gate
tox -e format # auto-format code
tox -e pre-push # full CI mirror before pushing
See TESTING.md for the full test matrix.
Code Style
- Python 3.11+
- Formatting: ruff (auto-enforced via tox -e format)
- No inline CSS in HTML templates
- Type hints encouraged but not required
- Docstrings for public functions
Commit Messages
Use conventional commits:
fix: correct dashboard loading state (#123)
feat: add crisis detection module (#456)
refactor: simplify memory store queries (#789)
docs: update installation guide (#101)
test: add unit tests for sovereignty module (#102)
chore: update dependencies
Always reference the issue number when applicable.
Pull Request Process
- Create a feature branch from
main - Make your changes
- Run
tox -e pre-push— must pass before you push - Push your branch and open a PR
- PR title: tag with description and issue number
- Wait for CI to pass
- Squash merge only — no merge commits
Never:
- Push directly to main
- Use
--no-verifyon git commands - Merge without CI passing
- Include credentials or secrets in code
Reporting Bugs
- Check existing issues first
- File a new issue with:
- Clear title
- Steps to reproduce
- Expected vs actual behavior
- Environment info (OS, Python version)
- Relevant logs or screenshots
Label with [bug].
Proposing Features
- Check existing issues and SOUL.md
- File an issue with:
- Problem statement
- Proposed solution
- How it aligns with SOUL.md values
- Acceptance criteria
Label with [feature] or [timmy-capability].
AI Agent Contributions
This repo includes multi-agent development (see AGENTS.md):
- Human contributors: follow this guide
- AI agents (Claude, Kimi, etc.): follow AGENTS.md
- All code must pass the same test gate regardless of author
Questions?
- Read SOUL.md for philosophy
- Read IMPLEMENTATION.md for architecture
- Read AGENTS.md for AI agent standards
- File an issue for anything unclear
License
By contributing, you agree your contributions will be licensed under the same license as the project (see LICENSE).