# Streetline Heroes

**Streetline Heroes** is een originele 2D side-scrolling beat-'em-up met premium handgemaakte pixel-art richting, gebouwd voor een AI-assisted production workflow met Codex.

## Doel

Deze repository is de Single Source of Truth voor game design, art direction, technical architecture, asset pipeline, QA en Codex-instructies.

## Productieprincipes

1. Eerst documentatie en regels.
2. Daarna tools en QA.
3. Daarna pas definitieve assets.
4. Geen asset wordt goedgekeurd zonder QA.
5. Alle assets volgen `PROJECT.yaml`, `RULES.yaml`, `STYLE_GUIDE.yaml` en de Art Bible.

## Target

- Engine: Phaser 3
- Language: TypeScript
- Genre: 2D beat-'em-up
- Resolution: 1920×1080
- Sprite frame size: 64×64 px voor characters
- Tile size: 32×32 px
- Export: PNG RGBA + JSON metadata

## Monorepo

Streetline Heroes is organized as a long-lived pnpm monorepo. Apps, shared packages, docs, assets, schemas, templates, and tools have clear ownership boundaries.

## StudioOS Onboarding

Nieuwe AI-agents en ontwikkelaars starten bij [studio/AI_START_HERE.md](studio/AI_START_HERE.md).
Lokale AI-toegang en MCP-richtlijnen staan in [studio/LOCAL_FILESYSTEM_ACCESS.md](studio/LOCAL_FILESYSTEM_ACCESS.md).
Read-only repository documentation MCP staat in [docs/mcp/README.md](docs/mcp/README.md).
Voor gewone ChatGPT-browsing via hosting/FTP: run `pnpm docs:export-public` en upload `public-docs/`.

## Folder structure

```text
apps/             Runnable applications
packages/         Shared engine, game, and pipeline packages
docs/             Numbered project bibles and production documentation
assets/           Concepts, sprites, backgrounds, tiles, UI, FX, and audio
tools/            Production and validation tools
schemas/          JSON/YAML schemas
specifications/   Machine-readable production DSL schemas
templates/        Reusable production templates
.github/          GitHub/Codex instructions, PR templates, issues
```

## Production DSL

Sprint 0.3 introduces the first machine-readable production DSL:

- Schemas live in [specifications/dsl](specifications/dsl/README.md).
- YAML definitions live in [assets/definitions](assets/definitions/README.md).
- Run `pnpm validate:dsl` to check required DSL fields.

## Asset Registry

Sprint 0.4 adds the central production asset registry:

- Registry v2 lives in [assets/registry/ASSET_REGISTRY.v2.yaml](assets/registry/ASSET_REGISTRY.v2.yaml).
- Lifecycle validation is documented in [QA](docs/100_QA/README.md).
- Run `pnpm validate:registry` to check required fields, unique IDs, lifecycle statuses, and source definitions.

## QA

- Run `pnpm qa` or `pnpm validate` to execute the central QA runner.
- The latest machine-readable report is written to [reports/qa/latest-report.json](reports/qa/latest-report.json).

## StudioOS Recipes

Sprint REC-001 adds the generic StudioOS Recipe Framework:

- Recipe definitions live in [recipes](recipes/README.md).
- The schema lives in [schemas/recipe.schema.json](schemas/recipe.schema.json).
- Run `pnpm validate:recipes` to validate recipe IDs, lifecycle status, required fields, outputs, pipeline steps, approval gates, and definition of done.
- Run `pnpm recipes:report` to generate [recipes-status.json](production/status/recipes-status.json).

## StudioOS Work Orders

Sprint WO-001 adds concrete production orders as recipe instances:

- Work order definitions live in [workorders](workorders/README.md).
- The schema lives in [schemas/workorder.schema.json](schemas/workorder.schema.json).
- Run `pnpm validate:workorders` to validate IDs, recipe references, lifecycle, priorities, arrays, outputs, and definition of done.
- Run `pnpm workorders:report` to generate [workorders-status.json](production/status/workorders-status.json).

## Production Factory

Sprint PF-001 joins recipes and work orders into a dashboard-ready production factory view:

- Factory status lives in [production-factory-status.json](production/status/production-factory-status.json).
- Run `pnpm factory:status` after recipe and work order reports are refreshed.
- The Studio Dashboard shows factory health, recipe status, active work orders, blockers, pipeline progress, and next actions.

## Studio Knowledge Graph

Sprint KG-001 adds the Studio Knowledge Graph foundation:

- Graph data lives in [graph](graph/README.md).
- Run `pnpm graph:validate` to validate nodes, edges, references, orphans, duplicates, and dependency cycles.
- Run `pnpm graph:index` to generate `graph/graph.index.json`.
- Run `pnpm graph:report` to generate [graph-status.json](production/status/graph-status.json).

## DPS-002 Combat Foundation

Sprint DPS-002 adds the first playable combat foundation on top of the approved DPS-001 movement layer:

- Design package: [DPS-002 Combat Foundation](docs/design-packages/DPS-002_CombatFoundation/00_MASTER/README.md).
- Canonical combat design data: [design/combat](design/combat/README.md).
- Contracts: [contracts/combat](contracts/combat/combat.contract.yaml).
- Runtime prototype: `apps/game` Experience Lab with DPS-002B attack state timing, light combo buffer, heavy attack, air attack, dash attack, and placeholder attack-state visualization.
- Run `pnpm design:combat:validate` to validate canonical combat design YAML.
- Run `pnpm combat:validate` to validate combat contracts, schemas, states, and attack definitions.
- Run `pnpm combat:test` to smoke-test registry, combo references, and buffer assumptions.
- Run `pnpm playtest:combat:validate` and `pnpm playtest:combat:generate` after exporting combat review sessions to `production/playtests/combat/sessions/`.
- Dashboard status lives in [combat-foundation-status.json](production/status/combat-foundation-status.json), [combat-telemetry-summary.json](production/status/combat-telemetry-summary.json), and [combat-review-status.json](production/status/combat-review-status.json).

## Asset Production

Sprint 1.8 defines the universal production pipeline for characters, enemies, bosses, props, backgrounds, UI, FX, tiles, and pickups:

- Pipeline handbook: [Asset Production Pipeline](docs/040_ProductionPipeline/01_Overview.md).
- Machine definition: [asset_pipeline.yaml](production/definitions/asset_pipeline.yaml).
- Pipeline YAML files: [production/pipelines](production/pipelines/README.md).
- Run `pnpm validate:production` to validate stages, workflow, pipeline IDs, and AI production rules.

## Golden Reference

Sprint 1.9 defines the quality bar used to approve future assets:

- Golden Reference Pack: [docs/050_GoldenReference](docs/050_GoldenReference/README.md).
- Machine definition: [golden_reference.yaml](assets/golden_reference/golden_reference.yaml).
- Run `pnpm validate:golden` to validate score fields, references, and the 95% approval gate.

## Character Production

Sprint 1.5 defines the full character production pipeline:

- Pipeline handbook: [Character Production Pipeline](docs/030_CharacterBible/CharacterProductionPipeline.md).
- Reference implementation: [CHR001 Nova Striker](docs/030_CharacterBible/CHR001_NovaStriker/00_Overview.md).
- Production character data: [CHR001_NovaStriker.yaml](assets/definitions/characters/CHR001_NovaStriker.yaml).
- Run `pnpm validate:character` to validate production character definitions.

Sprint 2.0 adds the production-ready Nova Striker pack:

- Production pack: [production/characters/CHR001](production/characters/CHR001/README.md).
- Machine definition: [production.yaml](assets/definitions/characters/CHR001/production.yaml).
- Run `pnpm validate:character-production` to validate the complete CHR001 production pack.

Sprint 2.3A adds the official Hero Identity Package for Nova Striker:

- Hero Identity Package: [production/characters/CHR001/identity](production/characters/CHR001/identity/01_HeroIdentity.md).
- Machine definition: [CHR001_identity.yaml](assets/definitions/identity/CHR001_identity.yaml).
- Run `pnpm validate:hero-identity` to validate hero identity references, pillars, materials, colors, pixel rules, and QA score.

## Visual Development

Sprint 1.6 defines how all future art concepts move from reference analysis to approval:

- Pipeline handbook: [Visual Development Pipeline](docs/035_VisualDevelopment/00_PipelineOverview.md).
- Concept review data: [concept_review.yaml](assets/definitions/review/concept_review.yaml).
- Run `pnpm validate:concepts` to validate concept review records.

Sprint 1.7 adds the first complete character visual development pack:

- Nova Striker pack: [21 Visual Development](docs/030_CharacterBible/CHR001_NovaStriker/21_VisualDevelopment.md).
- Pack assets: [assets/concepts/CHR001](assets/concepts/CHR001/README.md).
- Machine definition: [visual_development.yaml](assets/definitions/concepts/CHR001/visual_development.yaml).
- Run `pnpm validate:visual` to validate selected concepts, scores, references, and required fields.

## Primary Docs

- [Project vision](docs/000_ProjectVision/README.md)
- [Game design](docs/010_GameDesign/README.md)
- [Master Art Bible](docs/020_MasterArtBible/README.md), including [Pixel Art Standard v1.0](docs/020_MasterArtBible/PixelArtStandard.md), [Material Rendering Bible v1](docs/020_MasterArtBible/MaterialRenderingBible.md), [Palette & Color Library v1.0](docs/020_MasterArtBible/PaletteColorLibrary.md), [Shape Language & Anatomy Bible v1.0](docs/020_MasterArtBible/ShapeLanguageAndAnatomyBible.md), and [Motion & Animation Foundation v1.0](docs/020_MasterArtBible/AnimationFoundation.md)
- [Character Bible](docs/030_CharacterBible/README.md)
- [Visual Development](docs/035_VisualDevelopment/README.md)
- [Production Pipeline](docs/040_ProductionPipeline/README.md)
- [Golden Reference](docs/050_GoldenReference/README.md)
- [Technical Bible](docs/080_TechnicalBible/README.md)
- [Codex Pipeline](docs/090_CodexPipeline/README.md)
- [QA](docs/100_QA/README.md)
