Contributing
Contributing¶
Contributions are welcome! Here's how you can help.
Development Setup¶
# Clone the repository
git clone https://github.com/jr2804/teddi-tool.git
cd teddi-tool
# Install the pinned tool versions (node, bun, ruff, ty, rumdl, pyreorder, ...)
# then sync the dev dependencies declared in pyproject.toml.
# (mise install is the mise command that installs the tool versions in
# .config/mise/config.toml; it is NOT a task — `mise dev` is the task that
# syncs Python dev deps.)
mise install
uv sync --dev
# or: mise dev # composite task that runs `uv sync -U --dev --all-extras --all-groups`
Running Tests¶
mise test # pytest with coverage
Code Quality¶
# The single command a contributor should run before opening a PR:
mise all # runs test, lint, spell, format, format-md, docs
# Individual steps (use these while iterating):
mise lint # ruff check --fix
mise spell # codespell
mise typecheck # static type check (ty)
mise format # ruff format + ruff check --select I + pyreorder run
mise format-md # rumdl over Markdown
mise docs # build the Zensical documentation
mise all covers style and documentation, but not static typing; run
mise typecheck as well before opening a pull request (CI runs it separately).
See the Development guide for architecture notes and the release process.
Pull Requests¶
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request