Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
c7bb5ce
docs: design Figma remote MCP integration
owjs3901 Aug 30, 2026
499a781
docs: plan exhaustive Figma snapshot implementation
owjs3901 Aug 30, 2026
f2a9493
feat: add Rust MCP server skeleton
owjs3901 Aug 30, 2026
834428f
feat: parse Figma links safely
owjs3901 Aug 30, 2026
4ba6815
feat: authenticate Figma with OAuth
owjs3901 Aug 30, 2026
d4e04d3
feat: add read-only Figma MCP client
owjs3901 Aug 30, 2026
b506b21
feat: preserve exhaustive Figma snapshots
owjs3901 Aug 30, 2026
569a272
feat: generate DevupUI from Figma snapshots
owjs3901 Aug 30, 2026
76084fe
feat: generate devup theme from Figma variables
owjs3901 Aug 30, 2026
f927f9f
feat: wire Figma conversion tools
owjs3901 Aug 30, 2026
27ffe5a
refactor: split devup-mcp into workspace crates
owjs3901 Aug 30, 2026
15ff918
docs: fix workspace install command
owjs3901 Aug 30, 2026
6b2cd3a
docs: specify figma fallback and parity corpus
owjs3901 Aug 30, 2026
e1e7b15
docs: keep devup-mcp cargo-only
owjs3901 Aug 30, 2026
8a39ce4
docs: define json fixture and figma search flow
owjs3901 Aug 30, 2026
c6ec60e
docs: derive fixtures from live figma payloads
owjs3901 Aug 30, 2026
1bb2af1
docs: plan figma collection parity and search
owjs3901 Aug 30, 2026
a487d65
feat: classify figma source failures
owjs3901 Aug 30, 2026
4557b59
feat: add resumable figma collector
owjs3901 Aug 30, 2026
ff87ba6
feat: define collected figma payload contract
owjs3901 Aug 30, 2026
cce27bf
feat: preserve complete figma collection context
owjs3901 Aug 30, 2026
9f6eca3
feat: add bounded figma handoff sessions
owjs3901 Aug 30, 2026
21e0bb4
feat: add figma source fallback orchestration
owjs3901 Aug 30, 2026
74a72db
feat: support real figma collection envelopes
owjs3901 Aug 30, 2026
23d6d19
test: add production-shaped json fixtures
owjs3901 Aug 30, 2026
e0648eb
test: track the complete plugin test corpus
owjs3901 Aug 30, 2026
7c1c3f3
test: import plugin codegen json goldens
owjs3901 Aug 30, 2026
6460b54
feat: complete plugin fixture parity
owjs3901 Aug 30, 2026
c0e7107
feat: add figma search and artifact export
owjs3901 Aug 30, 2026
e78b92e
fix: normalize fixture checksums across platforms
owjs3901 Aug 30, 2026
a2159f1
feat: complete live figma host collection
owjs3901 Aug 31, 2026
9e6e1cf
ci: update checkout action runtime
owjs3901 Aug 31, 2026
056bc72
chore: update rust dependencies
owjs3901 Aug 31, 2026
1091725
docs: design linked figma screen exploration
owjs3901 Aug 31, 2026
66e8835
docs: plan linked figma exploration
owjs3901 Aug 31, 2026
012637a
refactor: model figma resource collection scopes
owjs3901 Aug 31, 2026
b7f9cd1
feat: resolve used figma resources by id
owjs3901 Aug 31, 2026
2e35876
fix: preserve figma styled text typography
owjs3901 Aug 31, 2026
3390d5b
feat: explore linked figma screen groups
owjs3901 Aug 31, 2026
cadd663
feat: expose figma screen exploration
owjs3901 Aug 31, 2026
9fa7e77
fix: discover screens under requirement headings
owjs3901 Aug 31, 2026
b535fec
fix: paginate oversized figma snapshots
owjs3901 Aug 31, 2026
2089431
fix: unfold figma instances in standalone ui
owjs3901 Aug 31, 2026
f0eefe6
docs: document linked figma conversion workflow
owjs3901 Aug 31, 2026
7000055
docs: design lossless single-call figma collection
owjs3901 Aug 31, 2026
c449740
docs: plan single-call figma collection
owjs3901 Aug 31, 2026
a0558c1
feat(figma): decode validated single-call envelopes
owjs3901 Aug 31, 2026
ed61fac
feat(figma): add lossless single-call snapshot script
owjs3901 Aug 31, 2026
b94b029
feat(figma): collect exact nodes with atomic fast fallback
owjs3901 Aug 31, 2026
a7e7494
fix(devup-ui): preserve individual strokes and root modes
owjs3901 Aug 31, 2026
7ed72f6
test(devup-ui): make upstream coverage registry executable
owjs3901 Aug 31, 2026
8bc07ec
feat(figma): reassemble split snapshot images
owjs3901 Aug 31, 2026
f4d439d
feat(cli): report installed server version
owjs3901 Aug 31, 2026
4970f65
docs: record verified one-call figma flow
owjs3901 Aug 31, 2026
5dda913
docs: mark figma delivery complete
owjs3901 Aug 31, 2026
af723df
docs: design figma correctness hardening
owjs3901 Aug 31, 2026
c194070
docs: plan figma correctness hardening
owjs3901 Aug 31, 2026
aa832aa
feat(figma): audit snapshot completeness
owjs3901 Aug 31, 2026
8bb2db4
fix(theme): resolve conflicts without aborting export
owjs3901 Aug 31, 2026
ae7fc43
feat(server): reuse figma acquisitions across exports
owjs3901 Aug 31, 2026
1430698
perf(figma): collect full theme in one fast call
owjs3901 Aug 31, 2026
6321f2d
feat(figma): export screens from section links
owjs3901 Aug 31, 2026
c68b1fb
feat(devup-ui): trace generated output to figma sources
owjs3901 Aug 31, 2026
4a1fa81
feat(figma): preserve large fields and requested assets
owjs3901 Aug 31, 2026
65fe593
test: cover all wquw 151 figma screens
owjs3901 Aug 31, 2026
ee3eecf
test: complete devup figma plugin parity ledger
owjs3901 Aug 31, 2026
38b7848
docs: document figma export guarantees
owjs3901 Aug 31, 2026
3f3f78e
docs: plan figma output correctness
owjs3901 Sep 1, 2026
fb52e7a
fix: unify figma tokens and escape tsx props
owjs3901 Sep 1, 2026
32cd1bd
fix: report output-aware figma quality
owjs3901 Sep 1, 2026
0c69108
fix: validate cached figma artifact capabilities
owjs3901 Sep 1, 2026
9b18ce9
docs: describe figma output quality guarantees
owjs3901 Sep 1, 2026
d7656b7
fix: defer strict export writes until approval
owjs3901 Sep 1, 2026
d646953
docs: design devup mcp hardening roadmap
owjs3901 Sep 1, 2026
942bbba
docs: plan devup mcp hardening work
owjs3901 Sep 1, 2026
70fce50
fix: validate exact figma asset captures
owjs3901 Sep 1, 2026
3c9ff77
feat: confine devup output paths
owjs3901 Sep 1, 2026
7e2b7aa
feat: commit devup outputs transactionally
owjs3901 Sep 1, 2026
cea42fc
feat: configure secure devup output roots
owjs3901 Sep 1, 2026
c1ed415
feat: index figma section screens
owjs3901 Sep 1, 2026
bf9ba43
feat: collect figma roots in bounded batches
owjs3901 Sep 1, 2026
c41cf04
feat: acquire selected figma section roots
owjs3901 Sep 1, 2026
c3c4d01
feat: store bounded devup output resources
owjs3901 Sep 1, 2026
46af8b0
feat: expose devup artifacts as mcp resources
owjs3901 Sep 1, 2026
be94ab6
feat: deliver figma projections as resources
owjs3901 Sep 1, 2026
f514e78
fix: classify projection fidelity structurally
owjs3901 Sep 1, 2026
ee85434
feat: validate generated devup tsx syntax
owjs3901 Sep 1, 2026
841f233
feat: report devup projection fidelity
owjs3901 Sep 1, 2026
99ad428
feat: verify figma projections visually
owjs3901 Sep 1, 2026
14ae711
refactor: separate figma projection boundaries
owjs3901 Sep 1, 2026
f781955
refactor: isolate projection orchestration
owjs3901 Sep 1, 2026
724cae0
docs: describe figma fidelity workflow
owjs3901 Sep 1, 2026
e883ff8
fix: enforce end-to-end figma fidelity
owjs3901 Sep 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions .changepacks/changepack_log_figma_remote_mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"changes": {
"crates/devup-mcp/Cargo.toml": "Minor",
"crates/devup-mcp-figma/Cargo.toml": "Minor",
"crates/devup-mcp-devup-ui/Cargo.toml": "Minor",
"crates/devup-mcp-visual/Cargo.toml": "Minor"
},
"note": "Add a Rust-native private Figma Remote MCP with OAuth and verified official-host fallback; exact-node and full-theme one-call acquisition with atomic, failed-root-only legacy fallback and a bounded shared upstream session; bounded memory-only artifact/resource reuse, URI-accurate native MCP resource links, independently readable binary assets and transactional file/resource delivery with verified rollback and retained recovery backups; Section screen selection and deterministic batch export; syntax-validated DevupUI TSX, devup.json, raw snapshot, source maps, requested assets and strictly decoded bounded reference PNG; source-derived typed fidelity impact, final-output provenance for non-default variants, one-to-one repeated text coverage and strict reports; a pure Rust PNG comparator plus renderer contract; loss-aware large-field continuation; all ten WQUW-151 screens; 268/268 plugin snapshot parity and a zero-not-ported 978-entry ledger; focused server module boundaries; non-duplicating CI snapshot drift enforcement; and Rust 1.88-compatible dependency updates",
"date": "2026-08-31T00:30:00+09:00"
}
5 changes: 5 additions & 0 deletions .changepacks/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"ignore": ["**", "!/crates/*/Cargo.toml"],
"baseBranch": "main",
"latestPackage": null
}
24 changes: 24 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: CI

on:
pull_request:
push:
branches: [main]

jobs:
verify:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@1.88.0
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
- run: cargo install cargo-insta --version 1.48.0 --locked
- run: cargo fmt --all -- --check
- run: cargo clippy --workspace --all-targets --all-features -- -D warnings
- run: cargo insta test --workspace --all-features --check
- run: cargo build --workspace --release
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/target/
*.log
.env
.env.*
!.env.example

Loading
Loading