adobe / adobe/spectrum-design-data

Authoring app architecture design document

Open
#798 0 comments 0 reactions 0 assignees View on GitHub
design-data-spec platform-onboarding
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.