adobe / adobe/spectrum-design-data
Authoring app architecture design document
- Dominant language
- Rust
- Stars
- 153
- Forks
- 35
- Avg merge
- 7h 54m
- Merged PRs (30d)
- 111
Description
## Context
Part of [Epic #732](https://github.com/adobe/spectrum-design-data/issues/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 (#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
Contributor guide
Research direction
Read the architecture topics and acceptance criteria, then review `tools/component-options-editor/` for existing GitHub PAT and PR patterns and the Figma Variables PoC (#795). Check the outcomes of dependencies #796 and #797, and account for the Phase 5 Node.js SDK dependency. Done means `docs/authoring-app/architecture.md` addresses all eight topics with concrete recommendations and flags open questions for engineering review.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, figma, github, node.js, rust
- Domain
- desktop, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100