A personal project template with opinionated infrastructure for documentation, CI, and AI-assisted development.
  • Python 57.7%
  • Shell 42.3%
Find a file Use this template
Erich Blume 03c00a7f6c
Some checks failed
Build / validate (push) Failing after 3s
Add branch-cleanup task, fix taplo-lint pre-commit hook
- 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>
2026-05-31 06:06:30 -07:00
.dagger Add branch-cleanup task, fix taplo-lint pre-commit hook 2026-05-31 06:06:30 -07:00
.forgejo/workflows Add branch-cleanup task, fix taplo-lint pre-commit hook 2026-05-31 06:06:30 -07:00
.gitea Add branch-cleanup task, fix taplo-lint pre-commit hook 2026-05-31 06:06:30 -07:00
.github
docs Resync template docs 2026-04-19 08:19:26 -07:00
mise-tasks Add branch-cleanup task, fix taplo-lint pre-commit hook 2026-05-31 06:06:30 -07:00
.gitignore
.yamllint.yaml
AGENTS.md Resync template docs 2026-04-19 08:19:26 -07:00
CHANGELOG.md
CLAUDE.md Add branch-cleanup task, fix taplo-lint pre-commit hook 2026-05-31 06:06:30 -07:00
dagger.json Bump Dagger template pin to v0.20.6 2026-04-21 08:41:55 -07:00
mise.toml Add branch-cleanup task, fix taplo-lint pre-commit hook 2026-05-31 06:06:30 -07:00
prek.toml Add branch-cleanup task, fix taplo-lint pre-commit hook 2026-05-31 06:06:30 -07:00
README.md Resync template docs 2026-04-19 08:19:26 -07:00
towncrier.toml

project-template

A personal project template with opinionated infrastructure for documentation, CI, and AI-assisted development.

What's Included

  • DocumentationDiataxis-structured docs built with Quartz
  • ChangelogTowncrier fragment-based changelog
  • CI/CDDagger pipelines + Forgejo build and release workflows
  • Pre-commit hooksprek with linting, formatting, secret detection
  • AI assistanceAGENTS.md + structured docs for Claude Code (C0/C1/C2 change process, Mikado method)
  • Task runnermise 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:

  1. Set baseUrl in docs/quartz.config.ts to your docs site domain
  2. Rename .dagger/src/project_template_ci/ directory and update class names to match your project
  3. Review and tailor the project structure section in AGENTS.md
  4. Add license information to README.md
  5. Remove the "First-Time Setup" section from AGENTS.md and this section from README.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`

License