README Generator
Generate a comprehensive README.md for MeatyTimes by analysing repository-native sources of truth (Spec Kit artefacts and governance guidance).
When to use
- User requests a new or updated repository
README.md
- Onboarding docs need to reflect current architecture, workflow, or testing standards
- Spec Kit artefacts or constitution changed and the README should be brought in sync
Workflow
Copy this checklist and track progress:
Task progress:
- [ ] Step 1: Scan Spec Kit feature artefacts
- [ ] Step 2: Review governance and contributor guidance
- [ ] Step 3: Draft README sections from sources
- [ ] Step 4: Write README.md with formatting and links
Step 1: Scan Spec Kit feature artefacts
Scan feature folders under specs/ (for example, 001-roast-calculator), using each feature folder's standard files where present:
spec.md
plan.md
tasks.md
research.md
data-model.md
quickstart.md
contracts/*
Step 2: Review governance and contributor guidance
Read and extract relevant facts from:
.specify/memory/constitution.md
.github/copilot-instructions.md (if present)
AGENTS.md (if present)
CONTRIBUTING.md (if present)
docs/README.md and relevant files under docs/ for user-facing context when present
docs-internal/README.md and relevant files under docs-internal/ for contributor/developer context when present
- The current
README.md (preserve useful badges, links, or wording where still accurate)
Also inspect global.json, Directory.Packages.props, src/MeatyTimes.AppHost/,
.github/workflows/, .github/dependabot.yml, and docs/CNAME (or docs/index.md)
for versions, CI/CD workflow filenames, deployment URLs, and docs site URLs.
Step 3: Draft README sections
Ground each section in the sources above (and broader repository files where relevant).
Project Name and Description
- Project name: MeatyTimes
- Describe the app as a simple cooking assistant that calculates roasting instructions for joints of meat (meat type, weight, doneness) and optional serve-at scheduling.
- Source from feature
spec.md files and the current README.md.
Technology Stack
- List primary technologies: .NET 10, C# / ASP.NET Core, Blazor Server, Tailwind CSS v4, Lucide icons, .NET Aspire, xUnit v3.
- Include SDK and key package versions from
global.json, Directory.Packages.props, and feature plan.md files.
- Note central package management via
Directory.Packages.props.
Project Architecture
High-level Aspire app layout:
MeatyTimes.AppHost — Aspire orchestration
MeatyTimes.Core — domain logic, cooking rules, calculation engine
MeatyTimes.Web — Blazor Server + Tailwind CSS UI (calls Core in-process)
MeatyTimes.ServiceDefaults — OpenTelemetry and health checks
Source from feature plan.md, data-model.md, and contracts/* under specs/.
Getting Started
Prerequisites: .NET SDK (see global.json), Aspire CLI (recommended).
Local run commands:
aspire run
# or
dotnet run --project src/MeatyTimes.AppHost
Open the webfrontend endpoint from the Aspire dashboard.
Source from README.md, feature quickstart.md files, and src/MeatyTimes.AppHost/.
Project Structure
Brief overview of repository layout:
src/ — application projects
tests/ — MeatyTimes.Core.Tests (unit) and MeatyTimes.Web.Tests (Blazor component)
specs/ — Spec Kit feature specifications and plans
docs/ — end-user documentation that can inform how the project is presented
docs-internal/ — internal contributor documentation that can inform development guidance
.specify/ — project constitution and Spec Kit configuration
.github/ — CI, Dependabot, and prompts
Key Features
- Roast instruction calculator (beef, lamb, pork, chicken, gammon).
- Doneness selection where applicable; food-safe defaults for poultry and pork.
- Serve-at backwards scheduling.
- Responsive Tailwind CSS UI for mobile, tablet, and desktop.
- Source from feature
spec.md and contracts/* files.
Development Workflow
- Feature work uses Spec Kit (
/speckit-specify, /speckit-plan, /speckit-tasks, /speckit-implement).
- Feature branches follow
NNN-short-name numbering (see .specify/extensions/git/).
- Constitution gates in
.specify/memory/constitution.md govern separation of concerns, testing, UX, security, traceability, and code quality (v2.0.0, eight principles).
- Source from
CONTRIBUTING.md (if present), feature tasks.md, and the constitution.
Coding Standards
- Domain logic lives in
MeatyTimes.Core; cooking-critical code requires comments explaining rules and intent.
- Cooking calculation changes require unit tests (red-green-refactor).
- Deterministic calculations with documented rule sources in
cooking-rules.json.
- Source from
.specify/memory/constitution.md and .github/copilot-instructions.md (if present).
Testing
- Unit tests:
dotnet test tests/MeatyTimes.Core.Tests
- Full suite:
dotnet test
- Cooking-critical behaviour must be covered by outcome-named tests per constitution Principle III.
- Source from feature
quickstart.md, tests/, and the constitution.
Contributing
- Reference
CONTRIBUTING.md and CODE_OF_CONDUCT.md if present.
- New meat types or rule changes require documented sources, unit tests, and user-facing examples.
- Pull requests should pass CI (build, format check, tests).
Licence
- MIT Licence — see
LICENSE (Copyright Mark Heydon).
Badges and quick stats
Place badges immediately under the # MeatyTimes title, grouped in up to three rows.
Derive URLs from repository facts — do not invent badge services the project does not use.
Row 1 — build health (always include when workflows exist):
| Badge |
Source |
| CI |
.github/workflows/ci.yml → actions/workflows/ci.yml/badge.svg?branch=main |
| CD / deploy |
cd.yml or equivalent deploy workflow, same pattern |
| .NET SDK |
global.json sdk.version |
| Licence |
LICENSE file (MIT) |
Row 2 — discoverability (include for public GitHub repos):
| Badge |
shields.io pattern |
| Live demo |
Static badge linking to production URL from docs/index.md or docs-internal/deployment.md |
| Docs |
Static badge linking to docs/CNAME custom domain, or GitHub Pages /docs path |
| GitHub stars |
github/stars/{owner}/{repo}?style=flat-square |
| Open issues |
github/issues/{owner}/{repo}?style=flat-square |
| Last commit |
github/last-commit/{owner}/{repo}/main?style=flat-square |
Row 3 — tech stack (pick badges that match Directory.Packages.props and docs-internal/tech-stack.md):
- Blazor Server, .NET Aspire (include major version from packages), Tailwind CSS, xUnit
- Dependabot enabled when
.github/dependabot.yml exists
Do not add unless the repo actually publishes them:
- Code coverage / Codecov / Coveralls (no coverage upload in CI today)
- SonarCloud / Code Climate quality gates
- Docker Hub pulls (unless images are published to a registry)
- Static “tests passing” counts that will go stale — prefer the CI badge; optional compact stats table is fine if refreshed from
dotnet test at generation time
Quick stats table (optional, directly under badges):
A two-column markdown table with durable facts: live app URL, docs URL, test count
(from dotnet test MeatyTimes.slnx), and hosting target (e.g. Azure Container Apps).
Replace redundant prose “Live app:” lines when this table is present.
Preserve existing badges from the current README.md when still accurate.
Step 4: Write README.md
Update the repository root README.md with:
- Clear headings and subheadings
- Code blocks for commands
- Lists for readability
- Links to
specs/ documentation and the constitution
- Badges and optional quick-stats table per Badges and quick stats above
Keep the README concise yet informative, focusing on what new developers or users need to know about MeatyTimes.
Output
- Primary deliverable: updated
README.md at the repository root
- Summarise for the user which sources drove major sections and any gaps where documentation was missing
1---2name: repo-readme-generator3description: Generate or refresh README.md for MeatyTimes by analysing Spec Kit artefacts, governance docs, and repository layout. Use when the user asks to create, update, or regenerate the repository README, project documentation overview, or onboarding docs for new contributors.4---56# README Generator78Generate a comprehensive `README.md` for **MeatyTimes** by analysing repository-native sources of truth (Spec Kit artefacts and governance guidance).910## When to use1112- User requests a new or updated repository `README.md`13- Onboarding docs need to reflect current architecture, workflow, or testing standards14- Spec Kit artefacts or constitution changed and the README should be brought in sync1516## Workflow1718Copy this checklist and track progress:1920```21Task progress:22- [ ] Step 1: Scan Spec Kit feature artefacts23- [ ] Step 2: Review governance and contributor guidance24- [ ] Step 3: Draft README sections from sources25- [ ] Step 4: Write README.md with formatting and links26```2728### Step 1: Scan Spec Kit feature artefacts2930Scan feature folders under `specs/` (for example, `001-roast-calculator`), using each feature folder's standard files where present:3132- `spec.md`33- `plan.md`34- `tasks.md`35- `research.md`36- `data-model.md`37- `quickstart.md`38- `contracts/*`3940### Step 2: Review governance and contributor guidance4142Read and extract relevant facts from:4344- `.specify/memory/constitution.md`45- `.github/copilot-instructions.md` (if present)46- `AGENTS.md` (if present)47- `CONTRIBUTING.md` (if present)48- `docs/README.md` and relevant files under `docs/` for user-facing context when present49- `docs-internal/README.md` and relevant files under `docs-internal/` for contributor/developer context when present50- The current `README.md` (preserve useful badges, links, or wording where still accurate)5152Also inspect `global.json`, `Directory.Packages.props`, `src/MeatyTimes.AppHost/`,53`.github/workflows/`, `.github/dependabot.yml`, and `docs/CNAME` (or `docs/index.md`)54for versions, CI/CD workflow filenames, deployment URLs, and docs site URLs.5556### Step 3: Draft README sections5758Ground each section in the sources above (and broader repository files where relevant).5960#### Project Name and Description6162- Project name: **MeatyTimes**63- Describe the app as a simple cooking assistant that calculates roasting instructions for joints of meat (meat type, weight, doneness) and optional serve-at scheduling.64- Source from feature `spec.md` files and the current `README.md`.6566#### Technology Stack6768- List primary technologies: .NET 10, C# / ASP.NET Core, Blazor Server, Tailwind CSS v4, Lucide icons, .NET Aspire, xUnit v3.69- Include SDK and key package versions from `global.json`, `Directory.Packages.props`, and feature `plan.md` files.70- Note central package management via `Directory.Packages.props`.7172#### Project Architecture7374High-level Aspire app layout:7576- `MeatyTimes.AppHost` — Aspire orchestration77- `MeatyTimes.Core` — domain logic, cooking rules, calculation engine78- `MeatyTimes.Web` — Blazor Server + Tailwind CSS UI (calls Core in-process)79- `MeatyTimes.ServiceDefaults` — OpenTelemetry and health checks8081Source from feature `plan.md`, `data-model.md`, and `contracts/*` under `specs/`.8283#### Getting Started8485- Prerequisites: .NET SDK (see `global.json`), Aspire CLI (recommended).86- Local run commands:8788 ```powershell89 aspire run90 # or91 dotnet run --project src/MeatyTimes.AppHost92 ```9394- Open the **webfrontend** endpoint from the Aspire dashboard.95- Source from `README.md`, feature `quickstart.md` files, and `src/MeatyTimes.AppHost/`.9697#### Project Structure9899Brief overview of repository layout:100101- `src/` — application projects102- `tests/` — `MeatyTimes.Core.Tests` (unit) and `MeatyTimes.Web.Tests` (Blazor component)103- `specs/` — Spec Kit feature specifications and plans104- `docs/` — end-user documentation that can inform how the project is presented105- `docs-internal/` — internal contributor documentation that can inform development guidance106- `.specify/` — project constitution and Spec Kit configuration107- `.github/` — CI, Dependabot, and prompts108109#### Key Features110111- Roast instruction calculator (beef, lamb, pork, chicken, gammon).112- Doneness selection where applicable; food-safe defaults for poultry and pork.113- Serve-at backwards scheduling.114- Responsive Tailwind CSS UI for mobile, tablet, and desktop.115- Source from feature `spec.md` and `contracts/*` files.116117#### Development Workflow118119- Feature work uses Spec Kit (`/speckit-specify`, `/speckit-plan`, `/speckit-tasks`, `/speckit-implement`).120- Feature branches follow `NNN-short-name` numbering (see `.specify/extensions/git/`).121- Constitution gates in `.specify/memory/constitution.md` govern separation of concerns, testing, UX, security, traceability, and code quality (v2.0.0, eight principles).122- Source from `CONTRIBUTING.md` (if present), feature `tasks.md`, and the constitution.123124#### Coding Standards125126- Domain logic lives in `MeatyTimes.Core`; cooking-critical code requires comments explaining rules and intent.127- Cooking calculation changes require unit tests (red-green-refactor).128- Deterministic calculations with documented rule sources in `cooking-rules.json`.129- Source from `.specify/memory/constitution.md` and `.github/copilot-instructions.md` (if present).130131#### Testing132133- Unit tests: `dotnet test tests/MeatyTimes.Core.Tests`134- Full suite: `dotnet test`135- Cooking-critical behaviour must be covered by outcome-named tests per constitution Principle III.136- Source from feature `quickstart.md`, `tests/`, and the constitution.137138#### Contributing139140- Reference `CONTRIBUTING.md` and `CODE_OF_CONDUCT.md` if present.141- New meat types or rule changes require documented sources, unit tests, and user-facing examples.142- Pull requests should pass CI (build, format check, tests).143144#### Licence145146- MIT Licence — see `LICENSE` (Copyright Mark Heydon).147148#### Badges and quick stats149150Place badges immediately under the `# MeatyTimes` title, grouped in up to three rows.151Derive URLs from repository facts — do not invent badge services the project does not use.152153**Row 1 — build health** (always include when workflows exist):154155| Badge | Source |156|-------|--------|157| CI | `.github/workflows/ci.yml` → `actions/workflows/ci.yml/badge.svg?branch=main` |158| CD / deploy | `cd.yml` or equivalent deploy workflow, same pattern |159| .NET SDK | `global.json` `sdk.version` |160| Licence | `LICENSE` file (MIT) |161162**Row 2 — discoverability** (include for public GitHub repos):163164| Badge | shields.io pattern |165|-------|-------------------|166| Live demo | Static badge linking to production URL from `docs/index.md` or `docs-internal/deployment.md` |167| Docs | Static badge linking to `docs/CNAME` custom domain, or GitHub Pages `/docs` path |168| GitHub stars | `github/stars/{owner}/{repo}?style=flat-square` |169| Open issues | `github/issues/{owner}/{repo}?style=flat-square` |170| Last commit | `github/last-commit/{owner}/{repo}/main?style=flat-square` |171172**Row 3 — tech stack** (pick badges that match `Directory.Packages.props` and `docs-internal/tech-stack.md`):173174- Blazor Server, .NET Aspire (include major version from packages), Tailwind CSS, xUnit175- Dependabot enabled when `.github/dependabot.yml` exists176177**Do not add** unless the repo actually publishes them:178179- Code coverage / Codecov / Coveralls (no coverage upload in CI today)180- SonarCloud / Code Climate quality gates181- Docker Hub pulls (unless images are published to a registry)182- Static “tests passing” counts that will go stale — prefer the CI badge; optional compact stats table is fine if refreshed from `dotnet test` at generation time183184**Quick stats table** (optional, directly under badges):185186A two-column markdown table with durable facts: live app URL, docs URL, test count187(from `dotnet test MeatyTimes.slnx`), and hosting target (e.g. Azure Container Apps).188Replace redundant prose “Live app:” lines when this table is present.189190Preserve existing badges from the current `README.md` when still accurate.191192### Step 4: Write README.md193194Update the repository root `README.md` with:195196- Clear headings and subheadings197- Code blocks for commands198- Lists for readability199- Links to `specs/` documentation and the constitution200- Badges and optional quick-stats table per **Badges and quick stats** above201202Keep the README concise yet informative, focusing on what new developers or users need to know about MeatyTimes.203204## Output205206- Primary deliverable: updated `README.md` at the repository root207- Summarise for the user which sources drove major sections and any gaps where documentation was missing