A personal project template with opinionated infrastructure for documentation, CI, and AI-assisted development.
- Python 57.7%
- Shell 42.3%
|
Some checks failed
Build / validate (push) Failing after 3s
- mise-tasks/branch-cleanup: delete merged local/remote branches via git + Forgejo API (1Password/env/flag token resolution) - mise.toml: add uv (runs PEP 723 task scripts) and bat (ai-docs output) - CLAUDE.md: re-point at AGENTS.md - prek.toml: drop taplo-lint hook. It fetches the remote SchemaStore catalog, which the pinned (dormant) taplo CLI can no longer decode and which fails in sandboxed CI. check-toml still validates syntax and taplo-format still formats. - .forgejo workflows / .gitea/template / dagger: minor resync Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .dagger | ||
| .forgejo/workflows | ||
| .gitea | ||
| .github | ||
| docs | ||
| mise-tasks | ||
| .gitignore | ||
| .yamllint.yaml | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| dagger.json | ||
| mise.toml | ||
| prek.toml | ||
| README.md | ||
| towncrier.toml | ||
project-template
A personal project template with opinionated infrastructure for documentation, CI, and AI-assisted development.
What's Included
- Documentation — Diataxis-structured docs built with Quartz
- Changelog — Towncrier fragment-based changelog
- CI/CD — Dagger pipelines + Forgejo
buildandreleaseworkflows - Pre-commit hooks — prek with linting, formatting, secret detection
- AI assistance —
AGENTS.md+ structured docs for Claude Code (C0/C1/C2 change process, Mikado method) - Task runner — mise tasks for docs validation, Mikado chain management, release preview, and runner inspection
Forking This Template
This is a Forgejo template repository. When you create a new repo from this template, Forgejo automatically expands variables like ${REPO_NAME} and ${REPO_OWNER} in key files — handling most customization automatically.
After creating your repo, the remaining manual steps are:
- Set
baseUrlindocs/quartz.config.tsto your docs site domain - Rename
.dagger/src/project_template_ci/directory and update class names to match your project - Review and tailor the project structure section in
AGENTS.md - Add license information to
README.md - Remove the "First-Time Setup" section from
AGENTS.mdand this section fromREADME.md
If you use Claude Code, it will prompt you to resolve remaining TODOs at the start of your first session.
Getting Started
# Install git hooks
prek install && prek install --hook-type commit-msg
# Run all pre-commit checks
prek run --all-files
# List available tasks
mise tasks
# Build docs (requires Dagger)
dagger call build-docs --src=. --version=dev export --path=./docs-dev.tar.gz
Project Structure
./docs/ # documentation (Diataxis, Quartz)
./docs/changelog.d/ # leave only .gitkeep in the template; generated repos add towncrier fragments here
./.dagger/ # Dagger module backing docs builds and releases
./.forgejo/workflows/ # generic build/release workflows for generated repos
./.forgejo/scripts/ # optional per-project hooks consumed by those workflows
./mise-tasks/ # scripts via `mise run`