Stack & Archetype Wiki Convention¶
Owner: Annegreet (structural health) + Jaap (SSOT enforcement) Effective: 2026-03-26 Status: BINDING — all wiki contributions MUST conform
Directory Structure¶
wiki/docs/
├── stack/ # Phase 1: Technology-specific knowledge
│ ├── CONVENTION.md # THIS FILE
│ ├── {technology}/ # One directory per stack technology
│ │ ├── index.md # Overview, version, when to use, GE conventions
│ │ ├── {topic}.md # Deep topic pages
│ │ ├── pitfalls.md # ALWAYS present — known failure modes
│ │ └── checklist.md # ALWAYS present — machine-parseable checklists
│ └── ...
├── archetypes/ # Phase 2: Application archetype knowledge
│ ├── {archetype}/ # One directory per archetype
│ │ ├── index.md # Archetype overview, common variants
│ │ ├── feature-tree.md # ALWAYS present — complete feature decomposition
│ │ ├── {domain}.md # Deep domain pages (auth, payments, etc.)
│ │ ├── integrations.md # Common third-party integrations
│ │ ├── compliance.md # Regulatory/legal requirements
│ │ └── checklist.md # ALWAYS present — scope completeness checklist
│ └── ...
├── domains/ # Existing: Role-based domain knowledge (unchanged)
└── development/ # Existing: GE internal standards (unchanged)
Naming Rules (BINDING)¶
Directories¶
- ALL lowercase
- Hyphenated compound words:
e-commerce,b2b-saas,client-portal - Technology canonical names:
nextjs(not next-js, not next.js),postgresql(not postgres),drizzle(not drizzle-orm),tailwind-shadcn(combined — always used together in GE),swift-swiftui(combined — GE uses both),vitest,playwright,hono,redis,kubernetes,terraform-upcloud(combined — UpCloud is our only provider),bunnynet,github-actions
Files¶
- ALL lowercase, hyphenated:
server-components.md,data-fetching.md - No abbreviations:
authentication.mdnotauth.md - No version numbers in filenames: content versioned via git, not filenames
- Mandatory files per directory:
index.md,pitfalls.md,checklist.md - Archetype mandatory: +
feature-tree.md
Cross-References¶
- ALWAYS use relative paths from wiki root:
wiki/docs/stack/nextjs/pitfalls.md - NEVER use absolute filesystem paths
- Format:
READ_ALSO: wiki/docs/stack/nextjs/server-components.md - Bidirectional: if A references B, B MUST reference A
- Cross-layer references encouraged: stack ↔ archetype ↔ domain
Page Template (Stack)¶
# {Technology} — {Topic}
OWNER: {primary agent}
ALSO_USED_BY: {agent1}, {agent2}
LAST_VERIFIED: {date}
GE_STACK_VERSION: {version GE pins to}
---
## Overview
{2-3 lines: what this covers, when agents need it}
## Patterns
{Agentic format: CHECK:/IF:/THEN:/TOOL:/RUN: tags}
## Anti-Patterns
{ANTI_PATTERN:/FIX: pairs}
## GE-Specific Conventions
{How GE uses this differently from generic usage}
## Cross-References
READ_ALSO: {related stack pages}
READ_ALSO: {related archetype pages}
READ_ALSO: {related domain pages}
Page Template (Archetype)¶
# {Archetype} — {Domain}
OWNER: Aimee (scoping), {dev agent}
ALSO_USED_BY: Anna (spec), Antje (TDD), {team leads}
LAST_VERIFIED: {date}
---
## Overview
{What this domain covers in context of the archetype}
## Feature Decomposition
SCOPE_ITEM: {feature name}
INCLUDES: {what's always part of this}
OPTIONAL: {common add-ons}
COMPLIANCE: {regulatory requirements}
ESTIMATE_COMPLEXITY: simple | normal | complex | critical
STACK_REF: wiki/docs/stack/{tech}/{relevant-page}.md
## Implementation Patterns
{How GE builds this — references to stack pages}
## Integration Points
{Third-party services, APIs, webhooks}
## Checklist
{Machine-parseable scope/implementation checklist}
## Cross-References
READ_ALSO: {related archetype pages}
READ_ALSO: {related stack pages}
Checklist Format (Machine-Parseable)¶
## {PHASE} CHECKLIST ({context})
- [ ] CHECK: {verification item}
- [ ] CHECK: {verification item}
IF_SKIPPED: {consequence of skipping}
ADDED_FROM: {learning source — e.g., "project-acme-2026-04, checkout bug"}
Checklists grow organically:
- Agents add items when they discover pitfalls during development
- Format: ADDED_FROM: {project}-{date}, {brief reason}
- Items are NEVER removed — only marked DEPRECATED: {reason} if no longer applicable
- Annegreet reviews weekly for duplicates and consolidation
Learning Feedback Routes¶
When an agent discovers a pitfall during development:
- Stack-level issue →
wiki/docs/stack/{tech}/pitfalls.md+checklist.md - Archetype-level issue →
wiki/docs/archetypes/{type}/{domain}.md+checklist.md - Cross-cutting issue → both locations +
wiki/docs/development/pitfalls/ - Eltjo detects the pattern, Annegreet routes to correct page(s)
Health Checks (Annegreet RECURRING_TASK)¶
Weekly automated checks:
- Dead links: every READ_ALSO: and STACK_REF: path verified
- Naming violations: directory/file names against convention
- Orphan pages: pages not referenced by any agent's WIKI_BRAIN
- Stale content: LAST_VERIFIED older than 90 days
- Missing mandatory files: every directory has index.md + pitfalls.md + checklist.md
- Bidirectional references: if A→B then B→A
Version Pinning¶
GE pins stack versions. When a version changes:
1. Joshua (Innovation) proposes the upgrade
2. Discussion with affected agents
3. If approved: update GE_STACK_VERSION in ALL affected pages
4. Annegreet verifies all pages updated
5. Wiki restart