For software agents:
- Part 1 is run once per repo.
- Part 2 is the ongoing contract.
Ask for clarification if there is any ambiguity.
In the git repo, do the following:
- create the following directory structure:
.project/backlog.project/done.project/README.md
- Prompt the user for a project acronym. For example if the project name is "RailsStash" ask the user how to prefix sequential ticket IDs, in this case suggest "RS"
- Copy the template.md into
.project/backlog/:
---
id: <PREFIX>-0000
title: Short imperative title
type: task # task | bug | spike | story | epic
status: backlog # backlog | ready | in_progress | blocked | done
value: 3 # 1–5 impact
effort: 2 # 1–5 relative effort
fun_factor: 3 # 1–5 how much fun to implement
urgency: 2 # 1–5 time pressure
risk: 1 # 1–5 uncertainty / blast radius
score: null # computed, not authoritative
owner: dave
created: 2026-02-28
updated: 2026-02-28
parent: null
depends_on: []
area: backlog
adr_refs: [] # ADR-0003, ADR-0007
links: [] # PRs, issues, docs
labels: []
---
## Why
Sharp motivation. Business or technical driver.
## Outcome
Observable truth after completion.
## Acceptance Criteria
- [ ] Concrete, verifiable result
- [ ] Another concrete result
## Notes
Constraints, edge cases, relevant context.
## LLM Context
- Files likely affected:
- Invariants to preserve:
- Style constraints:
- Known traps:
- Copy the README.md into
.project/backlog:
# Backlog
This directory contains all backlog items for the project.
## Canonical Template
All entries MUST conform to:
./template.md
No alternate formats are permitted.
## Creating a Backlog Item
1. Copy `template.md`.
2. Create a new file in this directory.
3. Name the file:
<PREFIX>-<DIGITS>-short-kebab-title.md
Example:
RS-0023-ci-hardening.md
4. Fill in all required YAML fields.
5. Do not remove sections from the template.
6. Keep entries self-contained and atomic where possible.
## Updating a Backlog Item
- Preserve the original structure.
- Update status and metadata in the YAML header.
- Add notes under the appropriate sections.
- Do not modify historical content unless correcting factual errors.
## Scope Rules
- One file per discrete unit of work.
- Epics may reference child items but must still conform to the template.
- Architectural decisions belong elsewhere (e.g., ADRs), not in this directory.
## Enforcement
Agents must read `AGENT.md` before interacting with this directory.
Humans are responsible for approving structural changes.
Agents should feel free to create a Project Manager sub-agent.
- Copy the following into
AGENT.mdin the repo root:
# Agent context assistance
## Project Management
This repository uses a structured backlog format for all work items.
Before creating, modifying, or reprioritizing any backlog entry, you MUST read:
.project/backlog/template.md
All backlog items must conform exactly to that template.
If a proposed item does not fit the template, revise the proposal — do
not alter the template without explicit human approval.
When a unit of work defined by a ticket is complete, move the file from `.project/backlog/` to `.project/done/ and set "status: done"
This repository operates in assistive mode by default:
- Propose changes.
- Do not mutate backlog files without approval.