π Documentation Guidelines
This document defines the style, tone, and structure standards for all Springular documentation. Follow these guidelines to ensure consistency across all docs.
π Documentation as Source of Truthβ
These guidelines are the authoritative reference for all documentation work. This documentation is the authoritative knowledge base for the project.
Rulesβ
- Before writing new docs: Read these guidelines, determine correct document type, check existing structure
- After writing docs: Verify compliance with guidelines, check consistency, confirm correct placement
- When implementing from docs: Follow documentation patterns and structure as the authoritative source
- After implementation: Update docs if implementation differs, ensure documentation reflects reality
For contributors and AI assistants: Always reference these guidelines when creating or modifying documentation. When implementing features from Epic/Implementation Guide documentation, treat those docs as the source of truth and follow their defined patterns.
Escape hatch: Rules can be bent with justification, not ignored. This prevents silent rule-breaking while allowing necessary flexibility.
TL;DR β Quick Decision Guideβ
Where does my doc go?
| Is it... | β Document Type | β Location (Lifecycle Stage) |
|---|---|---|
| Implemented & shipped? | Feature | Features β Implemented |
| Step-by-step code guide? | Implementation Guide | Implementation Guides β Execution |
| System design? | Solution Architecture | Planned Features β Planning & Design |
| Capability goal? | Epic | Planned Features β Planning & Design |
| Strategy/analysis? | Strategy Doc | Constellation β Strategy |
| How to use Springular? | Developer Guide | Developer Guide |
Format rules:
- Title + emoji (one emoji per title)
- 1-3 sentence introduction
- Clear sections (Overview β Usage β Config)
- Direct tone, no marketing fluff
- Present tense, active voice
Golden Rule: If it's not implemented, it's NOT a Feature doc.
Lifecycle labels (use these in structure, without brackets):
- Strategy: Why we build, evidence, roadmap
- Planning & Design: Epics and Solution Architecture
- Execution: Implementation Guides (step-by-step)
- Implemented: Features (production-ready)
Document Organizationβ
File Naming Conventionsβ
| Type | Pattern | Location | Example |
|---|---|---|---|
| Epic | epic.md | constellation/{capability}/ | text-intelligence/epic.md |
| Solution Architecture | architecture.md | constellation/{capability}/ | text-intelligence/architecture.md |
| Implementation Guide | {name}.md | constellation/{capability}/ | text-intelligence/foundation.md |
| Feature | {name}.md | docs/ | auth.md |
Note: Implementation guides use capability abbreviation prefix in titles (e.g., "TI: Foundation"), not in filenames.
Sidebar Structureβ
π Developer Guide
- Getting started, project structure, CI/CD, deployment
π Constellation β Strategy
- Analysis (POC learnings)
- Business Patterns (TrustMRR validation)
- Roadmap (what we build, when, why)
π¨ Boilerplate Enhancements β Planning & Design
- π― Epic
- ποΈ Solution Architecture
- π οΈ Implementation Guides
π οΈ Text Operations β Planning & Design
- π― Epic
- ποΈ Solution Architecture
- π οΈ Implementation Guides
β Features β Implemented
- Authentication, Payments, Emails, Themes
Grouping Logic: Documents are grouped by domain (technical capability area). Each domain contains its Epic, Solution Architecture, and Implementation Guides together for better discoverability and cohesion.
Document Types & Lifecycleβ
| Type | Purpose | Location | Lifecycle | Key Rule |
|---|---|---|---|---|
| Feature | User-facing, production-ready capability | Features β Implemented | Final state | Only when shipped & validated |
| Implementation Guide | Step-by-step code instructions | Implementation Guides β Execution | Long-lived | Answers "how" questions |
| Solution Architecture | System design & patterns | Planned Features β Planning & Design | Long-lived | Answers "what/why" questions |
| Epic | Capability goal definition | Planned Features β Planning & Design | Temporary | Archived after validation |
Featureβ
What it is: User-facing capability that's implemented, tested, and production-ready.
Key rules:
- Only create after implementation is complete
- Must have clear API or user interface
- Provides direct value to users or developers
- Examples: Authentication, Payments, Emails
What it is NOT: Planning docs, implementation guides, architecture docs, strategy docs.
Epicβ
What it is: Temporary capability-definition document that validates Constellation enhancements.
Key rules:
- Defines concrete, product-shaped goal
- Sets scope boundaries and success criteria
- Temporary (archived after fork product validation)
- Links to Solution Architecture and Implementation Guides
Location: constellation/{capability}/epic.md
See: Text Intelligence Epic for example.
Solution Architectureβ
What it is: Long-lived system design document defining how capabilities are structured.
Key rules:
- Business-agnostic (no product-specific logic)
- Explains design decisions, patterns, and constraints
- Defines extension points and boundaries
- Does NOT contain: Step-by-step instructions, code snippets, DTO definitions
Location: constellation/{capability}/architecture.md
Implementation Guideβ
What it is: Actionable, step-by-step guide for implementing specific features.
Key rules:
- Code-heavy (snippets, examples, DTOs)
- Feature-specific (one guide per feature)
- Can evolve as implementation evolves
- Does NOT contain: High-level architecture, design rationale (reference Solution Architecture)
Location: constellation/{capability}/{feature-name}.md
Title format: Use capability abbreviation prefix (e.g., "TI: Foundation", "TI: Generation")
Document Lifecycleβ
Documents move through: Strategy β Planning & Design β Execution β Implemented
- Constellation β Strategy: Capability appears in roadmap
- Planned Features β Planning & Design: Epic defines goal, Solution Architecture designs system
- Implementation Guides β Execution: Step-by-step guides created during development
- Features β Implemented: Once implemented and validated, becomes feature documentation
Lifecycle details:
- Epic: Temporary. Created β Validated β Archived
- Solution Architecture: Long-lived. Created β Maintained β Reference
- Implementation Guides: Long-lived. Created β Updated β Stays for contributors
- Feature: Final state. Implemented β Validated β User-facing docs
Rule: Only move docs to Features β Implemented when capability is fully implemented, tested, production-ready, and validated via fork product.
Content Distributionβ
| Content Type | Epic | Solution Architecture | Implementation Guide | Feature |
|---|---|---|---|---|
| Why this exists | β | β | β | β |
| Business value | β | β | β | β |
| Scope boundaries | β | β | β | β |
| System architecture | β | β | β | β |
| Design decisions | β | β | β | β |
| Step-by-step | β | β | β | β |
| Code snippets | β | β | β | β |
| API/usage docs | β | β | β | β |
Rule: Each document type has a clear purpose. Don't duplicate content across document types. Use cross-references instead.
Style & Formattingβ
Structureβ
Document Header: Frontmatter with sidebar_position, then title with emoji.
Introduction: 1-3 sentences explaining what, why, who.
Sections: Use clear hierarchy (H1 β H2 β H3), title case.
Tone & Voiceβ
Use: Direct statements, action verbs, present tense, second person ("you").
Avoid: Passive voice, qualifiers ("might", "possibly"), marketing speak, over-explanation.
Style: Professional but friendly, clear without condescension.
Formatting Standardsβ
Emphasis:
- Bold: Key terms (first mention), warnings, feature names, action items
- Italic: File names, paths, code references in prose, emphasis (sparingly)
Code: File names, variables, properties, command arguments, config values
Lists:
- Bullet points (
-) for features, options, unordered items - Numbered lists (
1.) for sequential steps, ordered procedures - Format: One item per line, capitalize first word, end with period for complete sentences
Code Blocks: Always specify language for syntax highlighting.
Tables: Use for comparisons, configurations, feature matrices, priorities.
Content Structureβ
Common sections: Introduction β Overview β Configuration β Usage β Examples β Troubleshooting β References
Cross-references: Use clear, descriptive link text. Avoid "click here" or "see this link".
Platform Enhancement Docsβ
Platform enhancement docs (in constellation/) use the capability folder structure: constellation/{capability-name}/ contains epic, architecture, and all implementation guides.
Strategic documents: Use tables for comparisons, callouts for context, bold for key principles, emojis in headers when appropriate.
Technical specifications: Use code blocks for examples, clear hierarchy, reference related docs.
See: Text Intelligence Epic for example.
Emoji Usageβ
Use emojis in document titles (one emoji per title, required):
- π Quick Start / Getting Started
- π Authentication / Security
- π³ Payments / Billing
- π¨ Themes / Styling
- ποΈ Structure / Organization
- βοΈ Configuration
- π Guides / References
- π Analysis / Research
- πΊοΈ Roadmaps / Strategy
- π Data / Analytics
- π Text / Writing
- π― Specifications / Targets
Rules: Use relevant emojis, keep it professional, avoid excessive emoji use in body text. Platform enhancement docs may use strategic emojis (β , β οΈ, π§, π―) in section headers.
Language & Terminologyβ
Consistent Termsβ
- Springular β The boilerplate name (always capitalized)
- Constellation β The enhanced version (capitalized)
- Spring Boot β Backend framework (capitalized correctly)
- Angular β Frontend framework (capitalized)
- Stripe β Payment service (capitalized)
Technical Termsβ
- Use proper casing:
application.yml(lowercase), notApplication.yml - Use code formatting for technical terms:
@Service,JWT,REST API - Explain acronyms on first use: JWT (JSON Web Token)
Avoiding Common Pitfallsβ
Don't:
- Duplicate information across docs β reference instead
- Use vague language ("things", "stuff", "etc.")
- Write walls of text β break into sections
- Assume prior knowledge β explain key concepts
- Mix tenses β use present tense consistently
- Use passive voice when active is clearer
Do:
- Be specific and clear
- Use examples when helpful
- Link to related documentation
- Break complex topics into sections
- Use tables for comparisons
- Keep sentences and paragraphs concise
Review Checklistβ
Before finalizing any documentation:
Documentation Guidelines Compliance:
- Referenced these guidelines before writing
- Verified consistency with existing docs of the same type
- Confirmed correct document type and location
- Verified lifecycle stage is correct (Strategy, Planning & Design, Execution, Implemented)
Structure & Format:
- Document has clear title with appropriate emoji
- Introduction explains what the doc covers (1-3 sentences)
- Headers follow title case
- Bold/italic/code formatting used correctly
- Code blocks have language specified
- Lists are formatted consistently
- Links use descriptive text
Content Quality:
- No duplicate information (reference other docs instead)
- Tone is direct and actionable
- Technical terms are explained or linked
- Examples are relevant and clear
For Implementation: If implementing from documentation, verify documentation patterns are followed as the source of truth.
Examplesβ
See real documentation for examples:
- Feature: Authentication
- Epic: Text Intelligence Epic
- Solution Architecture: Text Intelligence Architecture
- Implementation Guide: TI: Foundation