2026-03-03 19:25:14 -08:00
# project-template
A personal project template with opinionated infrastructure for documentation, CI, and AI-assisted development.
## What's Included
- **Documentation** — [Diataxis ](https://diataxis.fr/ )-structured docs built with [Quartz ](https://quartz.jzhao.xyz/ )
- **Changelog** — [Towncrier ](https://towncrier.readthedocs.io/ ) fragment-based changelog
- **CI/CD** — [Dagger ](https://dagger.io/ ) pipelines + [Forgejo ](https://forgejo.org/ ) Actions workflow for releases
- **Pre-commit hooks** — [prek ](https://github.com/dustinblackman/prek ) with linting, formatting, secret detection
2026-04-19 07:49:32 -07:00
- **AI assistance** — `AGENTS.md` + structured docs for Claude Code (C0/C1/C2 change process, Mikado method)
2026-03-03 19:25:14 -08:00
- **Task runner** — [mise ](https://mise.jdx.dev/ ) tasks for docs validation, Mikado chain management, and more
## Forking This Template
2026-03-03 20:28:15 -08:00
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
2026-04-19 07:49:32 -07:00
3. Fill in the project structure section in `AGENTS.md`
2026-03-03 20:28:15 -08:00
4. Add license information to `README.md`
2026-04-19 07:49:32 -07:00
5. Remove the "First-Time Setup" section from `AGENTS.md` and this section from `README.md`
2026-03-03 20:28:15 -08:00
If you use Claude Code, it will prompt you to resolve remaining TODOs at the start of your first session.
2026-03-03 19:25:14 -08:00
## Getting Started
```bash
# 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/ # towncrier fragments
./.dagger/ # dagger pipelines
./.forgejo/ # forgejo-runner actions and workflows
./mise-tasks/ # scripts via `mise run`
```
## License
<!-- TODO: Add license information -->