/ components / frontend / F007-docs_portal.component.cspec
F007-docs_portal.component.cspec
  1  # F007-docs_portal.component.cspec
  2  
  3  metadata:
  4    id: F007
  5    name: docs_portal
  6    version: 1.1.0
  7    domain: frontend
  8    stability: high_change
  9    updated: 2026-01-19
 10    cascade_priority: 60
 11    roles:
 12      primary: [Dev]
 13      review: []
 14    expertise:
 15      required: [documentation, mkdocs, python]
 16      helpful: [api_design, sdk]
 17    context_tags: [docs, api, sdk, developer, tutorials, testnet, mkdocs]
 18  
 19  dependencies:
 20    upstream: [F008, F009]
 21    downstream: []
 22  
 23  interface:
 24    types_ref: _registry/types.cspec
 25  
 26  spec:
 27    # === PURPOSE ===
 28    purpose: Documentation, API reference, SDK guides, testnet faucet
 29  
 30    # === PHILOSOPHY ===
 31    philosophy:
 32      - documentation_as_code
 33      - community_governed_via_radicle
 34      - changes_via_pull_requests
 35      - decentralized_hosting_mirrors_encouraged
 36  
 37    # === STRUCTURE ===
 38    structure:
 39      acdc-docs/:
 40        docs/:
 41          api/:
 42            - openapi-alpha.yaml
 43            - openapi-delta.yaml
 44            - websocket-spec.md
 45          sdk/:
 46            - rust/
 47            - typescript/
 48            - python/
 49          guides/: []
 50          tutorials/: []
 51          reference/: []
 52          cli/: []
 53          concepts/: []
 54        overrides/:
 55          assets/:
 56            stylesheets/:
 57              - brand.css  # acdc-design token integration
 58        mkdocs.yml: site_config
 59        requirements.txt: python_deps
 60  
 61    # === PLATFORM: MKDOCS MATERIAL ===
 62    platform:
 63      engine: mkdocs
 64      theme: material
 65      reason: faster_build_fewer_deps_better_search
 66      migration_from: docusaurus
 67  
 68      dependencies:
 69        - mkdocs: ">=1.5.0"
 70        - mkdocs-material: ">=9.5.0"
 71        - mkdocs-mermaid2-plugin: ">=1.1.0"
 72        - pymdown-extensions: ">=10.7"
 73  
 74      features:
 75        - navigation.tabs
 76        - navigation.sections
 77        - search.suggest
 78        - search.highlight
 79        - content.code.copy
 80        - content.tabs.link
 81        - mermaid_diagrams
 82  
 83    # === ACDC-DESIGN INTEGRATION ===
 84    theming:
 85      source: acdc-design/brand-book
 86      integration: css_variable_override
 87      tokens:
 88        alpha_500: "#2B87FF"
 89        alpha_600: "#1A6FE8"
 90        delta_500: "#F59E0B"
 91        font_body: "IBM Plex Sans"
 92        font_mono: "IBM Plex Mono"
 93      dark_mode:
 94        bg_primary: "#09090B"
 95        bg_secondary: "#18181B"
 96        bg_tertiary: "#27272A"
 97  
 98    # === PHASES ===
 99    phases:
100      mvp:
101        - static_site_from_repo
102        - api_reference_openapi
103        - sdk_docs_rust_ts_python
104        - tutorials_guides_markdown
105        - code_examples_runnable
106        - testnet_faucet_simple
107      post_launch:
108        - interactive_api_sandbox
109        - api_key_management
110        - usage_dashboard
111        - community_contributions_dashboard
112  
113    # === RADICLE INTEGRATION ===
114    radicle:
115      governance:
116        - doc_changes_via_radicle_prs
117        - maintainers_approved_by_delta_governance
118        - community_translations_via_prs
119      hosting:
120        canonical: docs.ac-dc.network
121        mirrors: encouraged_decentralized
122  
123    # === TESTNET FAUCET ===
124    faucet:
125      tokens: [test_alpha, test_dx, test_sax]
126      limits: per_address_per_day
127      captcha: required
128  
129  changelog:
130    - version: 1.1.0
131      date: 2026-01-19
132      type: enhancement
133      description: "Migrate from Docusaurus to MkDocs Material with acdc-design theming"
134      breaking: false
135  
136    - version: 1.0.0
137      date: 2026-01-14
138      type: initial
139      description: "Initial docs portal spec from Implementation Plan v1.0"
140      breaking: false