Skip to content

Tech stack ​

tiny-harness is a Python package. Every tool below is configured in the repository and pinned, so a check that passes on your machine passes in CI.

ConcernToolConfigured in
LanguagePython 3.14.python-version, pyproject.toml (requires-python)
Package manager and virtualenvuvpyproject.toml, uv.lock
Build backenduv_buildpyproject.toml ([build-system])
Lint and formatRuffpyproject.toml ([tool.ruff])
Type checkPyright, strict modepyproject.toml ([tool.pyright])
Testspytestpyproject.toml ([tool.pytest.ini_options])
Commit messages and versioningCommitizen (Conventional Commits)pyproject.toml ([tool.commitizen])
Git hookspre-commit.pre-commit-config.yaml
Markdown lintmarkdownlint-cli2.markdownlint-cli2.jsonc
Docs siteVitePress on Bun, diagrams via vitepress-plugin-mermaiddocs/.vitepress/config.mts, docs/package.json
CI/CDGitHub Actions.github/workflows/
Package registryPyPI, Trusted Publishing.github/workflows/release.yml
Docs hostingGitHub Pages.github/workflows/docs.yml

How the checks fit together ​

The pre-commit hooks are the one definition of the checks. CI runs the same hooks, and the release workflow runs CI before it publishes.

Repository layout ​

text
tiny_harness/         the package — import as `from tiny_harness import ...`
tests/unit/           fast tests, run by the pre-commit hook
tests/integration/    slower tests (build and install the wheel), run in CI
docs/                 this site, and the-loop's specs, capabilities and decisions
.github/workflows/    ci.yml, release.yml, docs.yml