Skip to content

Authoring app architecture design document #798

@GarthDB

Description

@GarthDB

Context

Part of Epic #732 — Phase 4: Output generators and authoring app integration.

Depends on: #796 (authoring workflow definitions), #797 (wireframes + designer feedback)

Goal

Produce a technical architecture document for the Electron desktop authoring app before any implementation begins. The document should be informed by designer feedback on the wireframes.

Topics to cover

  • Runtime: Electron + napi-rs (Node.js bindings to Rust core) — or alternative approaches evaluated
  • GitHub authentication: PAT vs OAuth App vs GitHub App — tradeoffs documented
  • Multi-repo model: how the app knows which repos to edit, how manifests link them
  • Branch/PR workflow: one branch per edit session? batch changes? conflict resolution?
  • Real-time validation: how SPEC rules run as the user types (napi-rs FFI into sdk/core)
  • Offline/online behavior: local-first editing with deferred push, or always-online?
  • Figma relationship: is Figma an input (designers work in Figma, app syncs) or output (app pushes to Figma)?
  • Node.js SDK: napi-rs bindings from Phase 5 pulled forward as a dependency

Reference

  • tools/component-options-editor/ — existing Figma plugin demonstrating GitHub PAT handling and PR creation patterns
  • Figma Variables PoC (Figma Variables output (proof of concept) #795) — informs the Figma integration decision
  • Phase 5 Node.js SDK — becomes a dependency of this app

Acceptance criteria

  • Architecture document exists at docs/authoring-app/architecture.md
  • All 8 topics above addressed with concrete recommendations
  • Open questions and decision points flagged for engineering review

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions