Skip to content

Product Main Repository Template

Use this template when creating a Product Management repository such as anuva-main-video-creator or a future anuva-main-realtime.

Product-main repositories coordinate product work. They should not contain product implementation code.

# <Product Main Repository Name>

## Repository Purpose

This repository owns Product Management and cross-repository coordination for `<Product Name>`.

It owns:

- Product vision.
- Product roadmap.
- Product architecture.
- Product capability map.
- Product repository registry.
- Cross-repository feature planning.
- GitHub issue and GitHub Project task coordination.
- Product ADRs.
- Product playbooks.
- Product release coordination.
- Product prompts and templates.
- Product MkDocs source docs, published through `anuva-dev-docs` when configured.

It does not own implementation code. Implementation work belongs in the product implementation repositories listed in the product repository registry.

## Recommended Top-Level Files

```text
README.md
AGENTS.md
mkdocs.yml
docs/
```

## Recommended Docs Structure

```text
docs/
  index.md
  bootstrap/
    <Product>_Product.md
  product/
    ProductVision.md
    ProductArchitecture.md
    ProductRoadmap.md
    ProductGlossary.md
  repositories/
    ProductRepositoryRegistry.md
  capabilities/
    ProductCapabilityMap.md
  development/
    ProductChangeWorkflow.md
    CrossRepositoryFeatureWorkflow.md
    DocsParityRules.md
    GitHubProjectWorkflow.md
  skills/
    ProductSkillsOverview.md
  playbooks/
    index.md
  prompts/
    index.md
    GenerateImplementationBootstrapContext.md
    PlanCrossRepositoryFeature.md
    CreateGitHubProjectTasks.md
    CreateRepositoryTask.md
    ImplementGitHubProjectIssue.md
    ReviewFeatureCompletion.md
  templates/
    ProductFeature_Template.md
    RepositoryImpact_Template.md
    ProductADR_Template.md
  adr/
    index.md
  releases/
    index.md
  changes/
    index.md
```

## AGENTS.md Requirements

`AGENTS.md` should state:

- This repository owns `<Product Name>` product coordination, not implementation.
- Engineering-wide process comes from `anuva-engineering-handbook`.
- Product-level work belongs here.
- Repository-specific implementation belongs in the owning implementation repository.
- Codex should create repository-specific GitHub issues and GitHub Project items for implementation work after product docs are reviewed.
- GitHub issues are durable implementation handoff packets; Codex chat is not the source of truth.
- Product docs, product repository registry, and product capability map should stay in sync.
- Product progress docs, GitHub issues, PR completion reports, and GitHub Project fields should stay in sync.
- Product-specific implementation details should be summarized only as needed for planning.
- Bootstrap Context documents for implementation repositories may be generated here and manually copied to `docs/bootstrap/BootstrapContext.md` in the target implementation repository.

## Product Architecture Page

The product architecture page should include a lightweight component diagram.

```mermaid
flowchart TD
  product["<Product Name>"] --> main["<product-main-repository>"]
  main --> repoA["<implementation-repository-a>"]
  main --> repoB["<implementation-repository-b>"]
  main --> repoC["<implementation-repository-c>"]
```

Keep this page at product level. Link to implementation repositories for code-level details.

## Product Capability Map

| Capability | Owner Repository | Level | Status | Notes |
| --- | --- | --- | --- | --- |
| `<Capability>` | `<Repository>` | Product or implementation | Planned | `<Notes>` |

## Product Repository Registry

| Repository | Role | Owned Capabilities | Local Docs | Verification |
| --- | --- | --- | --- | --- |
| `<repo>` | `<role>` | `<capabilities>` | `<docs path>` | `<commands>` |

## Cross-Repository Feature Template

Use product-level feature plans to coordinate work before opening implementation tasks. For work that spans implementation repositories, create GitHub issues and add them to the product GitHub Project.

```mermaid
flowchart TD
  feature["Product feature"] --> impact["Repository impact analysis"]
  impact --> tasks["tasks.yml and HandoffPrompts.md"]
  tasks --> issueA["GitHub issue for repository A"]
  tasks --> issueB["GitHub issue for repository B"]
  issueA --> project["Product GitHub Project"]
  issueB --> project
  project --> review["Product integration review"]
  review --> release["Product release checklist"]
```

Feature change folders should normally include:

```text
docs/changes/<YYYY-MM-DD-feature-name>/
  BrainDump.md
  FeatureBrief.md
  RepositoryImpact.md
  HandoffPrompts.md
  GitHubTasks.md
  Progress.md
  ReviewChecklist.md
  tasks.yml
```

## Implementation Repository Bootstrap Context

Product-main repositories may generate Bootstrap Context documents for implementation repositories.

The generated document should be copied into the implementation repository at:

```text
docs/bootstrap/BootstrapContext.md
```

It should describe the implementation repository's product role, ownership boundaries, expected capabilities, expected `docs/core` and `docs/state` pages, integration points, verification expectations, and open questions.

The implementation repository bootstrap process should not create `AGENTS.md` until `docs/bootstrap/BootstrapContext.md`, `docs/process/ChangeWorkflow.md`, `docs/core`, and `docs/state` exist.

## GitHub Project Fields

Product-main repositories should define the project fields needed for coordination.

| Field | Purpose |
| --- | --- |
| `Status` | Current task state, such as Backlog, Ready, In Progress, In Review, Done, or Blocked. |
| `Repository` | Owning repository for the implementation task. |
| `Feature ID` | Shared feature identifier across product-main docs, issues, and PRs. |
| `Product Change Folder` | Path to the product-main feature docs. |
| `Docs Impact` | Whether local, product, handbook, or publisher docs need updates. |
| `Verification` | Whether verification is pending, passed, skipped, or failed. |

## Verification

Product-main repositories should run docs checks such as:

```bash
git diff --check
mkdocs build --strict
```

Implementation tests should run in the owning implementation repositories, not in the product-main repository.

When product-main docs, GitHub task status, or implementation docs change, `anuva-dev-docs` should be refreshed or the required publishing refresh should be recorded.