@sarjallab09/figma-intelligence 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +26 -0
- package/README.md +327 -0
- package/bin/cli.js +859 -0
- package/design-bridge/.env.example +5 -0
- package/design-bridge/bridge.js +196 -0
- package/design-bridge/lib/assets.js +367 -0
- package/design-bridge/lib/prompt.js +85 -0
- package/design-bridge/lib/server.js +66 -0
- package/design-bridge/lib/stitch.js +37 -0
- package/design-bridge/lib/tokens.js +82 -0
- package/design-bridge/package-lock.json +579 -0
- package/design-bridge/package.json +19 -0
- package/figma-bridge-plugin/README.md +97 -0
- package/figma-bridge-plugin/anthropic-chat-runner.js +192 -0
- package/figma-bridge-plugin/bridge-relay.js +2363 -0
- package/figma-bridge-plugin/chat-runner.js +459 -0
- package/figma-bridge-plugin/code.js +1528 -0
- package/figma-bridge-plugin/codex-runner.js +505 -0
- package/figma-bridge-plugin/component-schemas.js +110 -0
- package/figma-bridge-plugin/content-context.js +869 -0
- package/figma-bridge-plugin/create-button.js +216 -0
- package/figma-bridge-plugin/gemini-cli-runner.js +291 -0
- package/figma-bridge-plugin/gemini-runner.js +187 -0
- package/figma-bridge-plugin/html-to-figma.js +927 -0
- package/figma-bridge-plugin/knowledge-hub/.gitkeep +0 -0
- package/figma-bridge-plugin/knowledge-hub/uspec-references/anatomy-spec.md +159 -0
- package/figma-bridge-plugin/knowledge-hub/uspec-references/api-spec.md +162 -0
- package/figma-bridge-plugin/knowledge-hub/uspec-references/color-spec.md +148 -0
- package/figma-bridge-plugin/knowledge-hub/uspec-references/full-spec-template.md +314 -0
- package/figma-bridge-plugin/knowledge-hub/uspec-references/property-spec.md +175 -0
- package/figma-bridge-plugin/knowledge-hub/uspec-references/screen-reader-spec.md +180 -0
- package/figma-bridge-plugin/knowledge-hub/uspec-references/structure-spec.md +165 -0
- package/figma-bridge-plugin/manifest.json +21 -0
- package/figma-bridge-plugin/package-lock.json +1936 -0
- package/figma-bridge-plugin/package.json +20 -0
- package/figma-bridge-plugin/perplexity-runner.js +188 -0
- package/figma-bridge-plugin/references/SKILL.md +178 -0
- package/figma-bridge-plugin/references/anatomy-spec.md +159 -0
- package/figma-bridge-plugin/references/api-spec.md +162 -0
- package/figma-bridge-plugin/references/color-spec.md +148 -0
- package/figma-bridge-plugin/references/full-spec-template.md +314 -0
- package/figma-bridge-plugin/references/property-spec.md +175 -0
- package/figma-bridge-plugin/references/screen-reader-spec.md +180 -0
- package/figma-bridge-plugin/references/structure-spec.md +165 -0
- package/figma-bridge-plugin/shared-prompt-config.js +604 -0
- package/figma-bridge-plugin/spec-helpers/build-table.js +269 -0
- package/figma-bridge-plugin/spec-helpers/classify-elements.js +189 -0
- package/figma-bridge-plugin/spec-helpers/index.js +35 -0
- package/figma-bridge-plugin/spec-helpers/parse-figma-link.js +49 -0
- package/figma-bridge-plugin/spec-helpers/position-markers.js +158 -0
- package/figma-bridge-plugin/stitch-auth.js +322 -0
- package/figma-bridge-plugin/stitch-runner.js +1427 -0
- package/figma-bridge-plugin/token-resolver.js +107 -0
- package/figma-bridge-plugin/ui.html +4467 -0
- package/figma-intelligence-layer/.env.example +39 -0
- package/figma-intelligence-layer/docs/local-image-generation.md +60 -0
- package/figma-intelligence-layer/examples/comfyui-workflow-template.example.json +101 -0
- package/figma-intelligence-layer/jest.config.js +14 -0
- package/figma-intelligence-layer/mcp-config.json +19 -0
- package/figma-intelligence-layer/package-lock.json +5892 -0
- package/figma-intelligence-layer/package.json +48 -0
- package/figma-intelligence-layer/scripts/setup-comfyui-local.sh +67 -0
- package/figma-intelligence-layer/scripts/start-comfyui.sh +33 -0
- package/figma-intelligence-layer/src/index.ts +2233 -0
- package/figma-intelligence-layer/src/shared/auto-layout-validator.ts +404 -0
- package/figma-intelligence-layer/src/shared/cache.ts +187 -0
- package/figma-intelligence-layer/src/shared/color-operations.ts +533 -0
- package/figma-intelligence-layer/src/shared/color-utils.ts +138 -0
- package/figma-intelligence-layer/src/shared/component-script-builder.ts +413 -0
- package/figma-intelligence-layer/src/shared/component-templates.ts +2767 -0
- package/figma-intelligence-layer/src/shared/concept-taxonomy.ts +694 -0
- package/figma-intelligence-layer/src/shared/decision-log.ts +128 -0
- package/figma-intelligence-layer/src/shared/design-system-context.ts +568 -0
- package/figma-intelligence-layer/src/shared/design-system-intelligence.ts +131 -0
- package/figma-intelligence-layer/src/shared/design-system-matcher.ts +184 -0
- package/figma-intelligence-layer/src/shared/design-system-normalizers.ts +196 -0
- package/figma-intelligence-layer/src/shared/design-system-tokens.ts +295 -0
- package/figma-intelligence-layer/src/shared/dtcg-validator.ts +530 -0
- package/figma-intelligence-layer/src/shared/enrichment-pipeline.ts +671 -0
- package/figma-intelligence-layer/src/shared/figma-bridge.ts +1408 -0
- package/figma-intelligence-layer/src/shared/font-config.ts +126 -0
- package/figma-intelligence-layer/src/shared/icon-catalog.ts +360 -0
- package/figma-intelligence-layer/src/shared/icon-fetch.ts +80 -0
- package/figma-intelligence-layer/src/shared/prototype-script-builder.ts +162 -0
- package/figma-intelligence-layer/src/shared/response-compression.ts +440 -0
- package/figma-intelligence-layer/src/shared/semantic-token-catalog.ts +324 -0
- package/figma-intelligence-layer/src/shared/token-binder.ts +505 -0
- package/figma-intelligence-layer/src/shared/token-math.ts +427 -0
- package/figma-intelligence-layer/src/shared/token-naming.ts +468 -0
- package/figma-intelligence-layer/src/shared/token-utils.ts +420 -0
- package/figma-intelligence-layer/src/shared/types.ts +346 -0
- package/figma-intelligence-layer/src/shared/typography-presets.ts +94 -0
- package/figma-intelligence-layer/src/shared/unsplash.ts +165 -0
- package/figma-intelligence-layer/src/shared/vision-client.ts +607 -0
- package/figma-intelligence-layer/src/shared/vision-provider-anthropic.ts +334 -0
- package/figma-intelligence-layer/src/shared/vision-provider-openai.ts +446 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/a11y-annotate-handler.ts +782 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/a11y-annotate-renderer.ts +496 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/a11y-annotation-kit.ts +230 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/colorblind-sim.ts +66 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/index.ts +810 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/keyboard-sr-order-analyzer.ts +1191 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/keyboard-sr-order-figma-page.ts +1346 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/keyboard-sr-order-handler.ts +148 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/vpat-figma-page.ts +499 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/vpat-report.ts +910 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/wcag-checker.ts +989 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/wcag-criteria.ts +1160 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/design-from-ref/index.ts +424 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/component-recognizer.ts +38 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/ds-matcher.ts +111 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/font-matcher.ts +114 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/icon-resolver.ts +103 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/index.ts +1060 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/layout-segmenter.ts +18 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/token-inferencer.ts +39 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/vision-pipeline.ts +58 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/sketch-to-design/index.ts +298 -0
- package/figma-intelligence-layer/src/tools/phase1-vision/visual-audit/index.ts +197 -0
- package/figma-intelligence-layer/src/tools/phase2-accuracy/component-audit/index.ts +494 -0
- package/figma-intelligence-layer/src/tools/phase2-accuracy/intent-translator/index.ts +356 -0
- package/figma-intelligence-layer/src/tools/phase2-accuracy/layout-intelligence/container-patterns.ts +123 -0
- package/figma-intelligence-layer/src/tools/phase2-accuracy/layout-intelligence/index.ts +663 -0
- package/figma-intelligence-layer/src/tools/phase2-accuracy/lint-rules/built-in-rules.yaml +56 -0
- package/figma-intelligence-layer/src/tools/phase2-accuracy/lint-rules/index.ts +614 -0
- package/figma-intelligence-layer/src/tools/phase2-accuracy/lint-rules/rule-engine.ts +113 -0
- package/figma-intelligence-layer/src/tools/phase2-accuracy/theme-generator/color-theory.ts +178 -0
- package/figma-intelligence-layer/src/tools/phase2-accuracy/theme-generator/index.ts +470 -0
- package/figma-intelligence-layer/src/tools/phase2-accuracy/variant-expander/index.ts +429 -0
- package/figma-intelligence-layer/src/tools/phase2-accuracy/variant-expander/token-override-maps.ts +226 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/ai-image-insert/index.ts +535 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/component-archaeologist/index.ts +660 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/component-archaeologist/pattern-fingerprints.ts +209 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/composition-builder/index.ts +540 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/figma-animated-build.ts +391 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/page-architect/index.ts +2019 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/page-architect/screen-templates.ts +131 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/prototype-map/index.ts +381 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/prototype-wire/index.ts +565 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/swarm-build/index.ts +764 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/system-drift/index.ts +535 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/unsplash-search/index.ts +84 -0
- package/figma-intelligence-layer/src/tools/phase3-generation/url-to-frame/index.ts +401 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/code-generators/css-animations.ts +68 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/code-generators/framer-motion.ts +78 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/code-generators/swift-animations.ts +93 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/index.ts +596 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/ci-check/index.ts +462 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/export-tokens/index.ts +1470 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/generate-component-code/index.ts +829 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/handoff-spec/index.ts +702 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/icon-library-sync/index.ts +483 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/sync-from-code/index.ts +501 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/sync-from-code/storybook-parser.ts +106 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/watch-docs/index.ts +676 -0
- package/figma-intelligence-layer/src/tools/phase4-sync/webhook-listener/index.ts +560 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/apg-doc/index.ts +1043 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/component-detection.ts +620 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/anatomy.ts +331 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/color-tokens.ts +77 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/properties.ts +54 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/snapshot.ts +287 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/spacing.ts +71 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/states.ts +43 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/typography.ts +71 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/index.ts +221 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/_default.ts +166 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/accordion.ts +232 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/alert.ts +234 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/avatar-group.ts +270 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/avatar.ts +249 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/badge.ts +231 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/banner.ts +293 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/breadcrumb.ts +240 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/button.ts +243 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/calendar.ts +307 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/card.ts +143 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/checkbox.ts +227 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/chip.ts +233 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/combobox.ts +282 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/datepicker.ts +276 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/divider.ts +223 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/drawer.ts +255 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/dropdown-menu.ts +289 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/empty-state.ts +261 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/file-uploader.ts +290 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/form.ts +265 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/grid.ts +238 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/icon.ts +255 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/index.ts +128 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/inline-edit.ts +286 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/inline-message.ts +255 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/input.ts +330 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/link.ts +247 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/list.ts +250 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/menu.ts +247 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/modal.ts +144 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/navbar.ts +264 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/navigation.ts +251 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/number-input.ts +261 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/pagination.ts +248 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/popover.ts +270 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/progress.ts +251 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/radio.ts +142 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/range-slider.ts +282 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/rating.ts +250 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/search.ts +258 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/segmented-control.ts +265 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/select.ts +319 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/skeleton.ts +256 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/slider.ts +232 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/spinner.ts +239 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/status-dot.ts +252 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/stepper.ts +270 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/table.ts +244 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/tabs.ts +143 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/tag.ts +243 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/textarea.ts +259 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/time-picker.ts +293 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/toast.ts +144 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/toggle.ts +289 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/toolbar.ts +267 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/tooltip.ts +232 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/treeview.ts +257 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/typography.ts +319 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/legacy-compat.ts +121 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/anatomy-diagram.ts +430 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/figma-page.ts +312 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/json.ts +129 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/markdown.ts +78 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/visual-doc.ts +2333 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/accessibility.ts +100 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/anatomy.ts +32 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/color-tokens.ts +59 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/content-guidance.ts +18 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/design-tokens.ts +53 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/interaction-rules.ts +19 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/overview.ts +91 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/properties-api.ts +71 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/qa-criteria.ts +19 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/related-components.ts +110 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/responsive.ts +19 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/size-specs.ts +67 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/spacing-structure.ts +58 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/state-specs.ts +79 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/states.ts +50 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/type-hierarchy.ts +33 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/typography.ts +55 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/usage-guidelines.ts +73 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/variants.ts +81 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/types.ts +409 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec-sheet/index.ts +198 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec-sheet/renderer.ts +701 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec-sheet/types.ts +88 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/decision-log/index.ts +135 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/design-decision-log/index.ts +491 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/ds-primitives/index.ts +416 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/ds-scaffolder/index.ts +722 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/ds-variables/index.ts +449 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/health-report/index.ts +393 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/index.ts +406 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/figma-page.ts +292 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/json.ts +24 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/markdown.ts +172 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/naming-guide.ts +409 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/token-analytics/index.ts +594 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/token-docs/index.ts +710 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/token-migrate/index.ts +458 -0
- package/figma-intelligence-layer/src/tools/phase5-governance/token-naming/index.ts +134 -0
- package/figma-intelligence-layer/tests/apg-doc.test.ts +101 -0
- package/figma-intelligence-layer/tests/design-system-context.test.ts +152 -0
- package/figma-intelligence-layer/tests/design-system-matcher.test.ts +144 -0
- package/figma-intelligence-layer/tests/figma-bridge.test.ts +83 -0
- package/figma-intelligence-layer/tests/generate-image-and-insert.test.ts +56 -0
- package/figma-intelligence-layer/tests/screen-cloner-regression.test.ts +69 -0
- package/figma-intelligence-layer/tests/smoke.test.ts +174 -0
- package/figma-intelligence-layer/tests/spec-generator.test.ts +127 -0
- package/figma-intelligence-layer/tests/token-migrate.test.ts +21 -0
- package/figma-intelligence-layer/tests/token-naming.test.ts +30 -0
- package/figma-intelligence-layer/tsconfig.json +19 -0
- package/package.json +35 -0
- package/scripts/clean-existing-chunks.js +179 -0
- package/scripts/connect-ai-tool.js +490 -0
- package/scripts/convert-hub-pdfs.js +425 -0
- package/scripts/figma-mcp-status.js +349 -0
- package/scripts/register-codex-mcp.js +96 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025-2026 Figma Intelligence Contributors
|
|
4
|
+
|
|
5
|
+
This work is licensed under the Creative Commons
|
|
6
|
+
Attribution-NonCommercial-NoDerivatives 4.0 International License.
|
|
7
|
+
|
|
8
|
+
You are free to:
|
|
9
|
+
|
|
10
|
+
Share — copy and redistribute the material in any medium or format.
|
|
11
|
+
|
|
12
|
+
Under the following terms:
|
|
13
|
+
|
|
14
|
+
Attribution — You must give appropriate credit, provide a link to the
|
|
15
|
+
license, and indicate if changes were made.
|
|
16
|
+
|
|
17
|
+
NonCommercial — You may not use the material for commercial purposes.
|
|
18
|
+
|
|
19
|
+
NoDerivatives — If you remix, transform, or build upon the material, you
|
|
20
|
+
may not distribute the modified material.
|
|
21
|
+
|
|
22
|
+
No additional restrictions — You may not apply legal terms or technological
|
|
23
|
+
measures that legally restrict others from doing anything the license permits.
|
|
24
|
+
|
|
25
|
+
Full license text:
|
|
26
|
+
https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode
|
package/README.md
ADDED
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
# Figma Intelligence Layer
|
|
2
|
+
|
|
3
|
+
[](https://nodejs.org)
|
|
4
|
+
[](https://creativecommons.org/licenses/by-nc-nd/4.0/)
|
|
5
|
+
[]()
|
|
6
|
+
|
|
7
|
+
> An AI-powered design assistant that lives inside Figma — connect Claude, OpenAI Codex, or Google Gemini CLI and let AI build, edit, and modify your designs in real time.
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
You (chat in Figma plugin) ◄──► Bridge Relay ◄──► Claude / OpenAI Codex / Gemini CLI
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## What does this do?
|
|
16
|
+
|
|
17
|
+
Type something like *"Make a login screen with a blue button"* and the selected provider will actually create the components and layers in your Figma file — not just describe how to do it.
|
|
18
|
+
|
|
19
|
+
The bundled Figma MCP server exposes **64 tools**, including high-level generation tools (`figma_page_architect`, `figma_intent_translator`, `figma_layout_intelligence`, `figma_design_from_ref`, `figma_generate_spec`) and direct editing and inspection tools.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Before you start — what you need
|
|
24
|
+
|
|
25
|
+
You need Node.js, Figma Desktop, and at least one supported AI CLI on your computer. If you already have them, skip to Step 1.
|
|
26
|
+
|
|
27
|
+
### 1. Node.js (a programming tool that runs behind the scenes)
|
|
28
|
+
|
|
29
|
+
- Go to [nodejs.org](https://nodejs.org) and download the **LTS** version (the one labelled "Recommended for most users")
|
|
30
|
+
- Install it like any normal app (open the downloaded file, click Next/Install)
|
|
31
|
+
- To check it worked: open Terminal (Mac) or Command Prompt (Windows), type `node -v`, and press Enter — you should see a version number like `v20.0.0`
|
|
32
|
+
|
|
33
|
+
### 2. Figma Desktop app
|
|
34
|
+
|
|
35
|
+
- Download from [figma.com/downloads](https://www.figma.com/downloads/)
|
|
36
|
+
- This must be the **desktop app** — the browser version won't work
|
|
37
|
+
|
|
38
|
+
### 3. An AI tool
|
|
39
|
+
|
|
40
|
+
Install at least one of these — the setup will detect whichever you have:
|
|
41
|
+
|
|
42
|
+
| Tool | How to install |
|
|
43
|
+
|---|---|
|
|
44
|
+
| **Claude Code** | Download from claude.ai/download, sign in with `claude login` |
|
|
45
|
+
| **VS Code** (GitHub Copilot) | Download from code.visualstudio.com |
|
|
46
|
+
| **Cursor** | Download from cursor.com |
|
|
47
|
+
| **Windsurf** | Download from codeium.com/windsurf |
|
|
48
|
+
| **Zed** | Download from zed.dev |
|
|
49
|
+
| **Continue.dev** | Install the VS Code extension from continue.dev |
|
|
50
|
+
| **OpenAI Codex CLI** | `npm install -g @openai/codex`, then `codex login` |
|
|
51
|
+
| **Google Gemini CLI** | `npm install -g @google/gemini-cli`, then run `gemini` and complete Google sign-in |
|
|
52
|
+
| **Kiro** (AWS) | Download from kiro.dev |
|
|
53
|
+
|
|
54
|
+
If you install Claude, Codex, and Gemini CLI, `npm run setup` prepares all of them so provider switching does not require restarting the bridge.
|
|
55
|
+
|
|
56
|
+
### 4. A Figma Personal Access Token
|
|
57
|
+
|
|
58
|
+
This is like a password that lets the plugin read and edit your Figma files.
|
|
59
|
+
|
|
60
|
+
1. Open Figma Desktop
|
|
61
|
+
2. Click your profile photo (top-left)
|
|
62
|
+
3. Go to **Settings → Security**
|
|
63
|
+
4. Scroll down to **Personal access tokens** → click **Generate new token**
|
|
64
|
+
5. Give it any name (e.g. "Claude Plugin")
|
|
65
|
+
6. **Copy the token and save it somewhere** — you'll need it in Step 2 below and Figma only shows it once
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Setup (one-time, takes about 2 minutes)
|
|
70
|
+
|
|
71
|
+
### Step 1 — Open Terminal in the project folder
|
|
72
|
+
|
|
73
|
+
**On Mac:**
|
|
74
|
+
1. Open the **Terminal** app (search for it in Spotlight with Cmd+Space)
|
|
75
|
+
2. Type `cd ` (with a space after), then drag the project folder onto the Terminal window — this fills in the path automatically
|
|
76
|
+
3. Press Enter
|
|
77
|
+
|
|
78
|
+
**On Windows:**
|
|
79
|
+
1. Open the project folder in File Explorer
|
|
80
|
+
2. Click the address bar at the top, type `cmd`, press Enter
|
|
81
|
+
|
|
82
|
+
### Step 2 — Run the setup command
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
npm run setup
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Type exactly that and press Enter. The setup will:
|
|
89
|
+
- Install everything needed (you'll see a lot of text scroll by — that's normal)
|
|
90
|
+
- Detect your Claude, Codex, and Gemini logins
|
|
91
|
+
- Prompt you to sign in to any installed provider that is not ready yet, so both subscriptions can be prepared in one pass
|
|
92
|
+
- Register the Figma MCP server for Claude, Codex, Gemini CLI, and VS Code
|
|
93
|
+
- If you choose OpenAI in the plugin later, it will use the account currently logged into `codex` without restarting `npm start`
|
|
94
|
+
- If you choose Gemini in the plugin later and Gemini CLI is authenticated, it will use Gemini CLI subscription mode with the same Figma MCP server
|
|
95
|
+
- Ask you to **paste your Figma token** — paste it and press Enter
|
|
96
|
+
- Start the background bridge that lets the plugin talk to Figma
|
|
97
|
+
|
|
98
|
+
> If it says "npm: command not found" — Node.js is not installed correctly. Go back and reinstall it from [nodejs.org](https://nodejs.org).
|
|
99
|
+
|
|
100
|
+
### Step 3 — Load the plugin into Figma
|
|
101
|
+
|
|
102
|
+
1. Open **Figma Desktop**
|
|
103
|
+
2. Open any file (or create a new one)
|
|
104
|
+
3. **Right-click** anywhere on the canvas (the blank white area)
|
|
105
|
+
4. In the menu that appears, go to: **Plugins → Development → Import plugin from manifest…**
|
|
106
|
+
5. A file picker opens — navigate to the project folder, then into the `figma-bridge-plugin` folder, and select **manifest.json**
|
|
107
|
+
6. Click **Open**
|
|
108
|
+
|
|
109
|
+
### Step 4 — Start the plugin
|
|
110
|
+
|
|
111
|
+
1. **Right-click** the canvas again
|
|
112
|
+
2. Go to **Plugins → Development → Figma Intelligence Bridge**
|
|
113
|
+
3. A panel will open — click **▶ Start**
|
|
114
|
+
4. You should see **✅ Connected** — you're all set!
|
|
115
|
+
|
|
116
|
+
### Step 5 — Connect any other AI tools (optional)
|
|
117
|
+
|
|
118
|
+
Already using Cursor, Windsurf, Zed, Continue.dev, or Kiro? Run:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
npm run connect
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
It auto-detects which tools you have installed and registers the Figma MCP server with all of them in one go. You can also target a specific tool:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
npm run connect -- --tool cursor
|
|
128
|
+
npm run connect -- --tool windsurf
|
|
129
|
+
npm run connect -- --tool zed
|
|
130
|
+
npm run connect -- --tool continue
|
|
131
|
+
npm run connect -- --tool vscode
|
|
132
|
+
npm run connect -- --tool kiro
|
|
133
|
+
npm run connect -- --tool codex
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Step 6 — Restart your AI tool
|
|
137
|
+
|
|
138
|
+
Restart VS Code, Cursor, Windsurf, Zed, or whichever tool you connected, so it picks up the new MCP server.
|
|
139
|
+
|
|
140
|
+
### Step 7 — Quick health check (recommended)
|
|
141
|
+
|
|
142
|
+
Run:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
npm run status
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
This verifies relay socket state, plugin connection, MCP connection, build output, and token setup in one command.
|
|
149
|
+
|
|
150
|
+
If you use OpenAI provider and it reports missing Codex MCP registration, run:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
npm run register:codex-mcp
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
If you plan to use Gemini subscription mode, verify that `gemini --version` works and that running `gemini` completes Google sign-in before you open the plugin.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Using the chat
|
|
161
|
+
|
|
162
|
+
Once connected, the plugin panel has a chat box at the bottom. Just type what you want:
|
|
163
|
+
|
|
164
|
+
- *"Create a login screen with email and password fields"*
|
|
165
|
+
- *"Add a navigation bar with 4 menu items"*
|
|
166
|
+
- *"Design a card component with a photo, title, and a blue button"*
|
|
167
|
+
- *(Attach a screenshot)* *"Recreate this layout in Figma"*
|
|
168
|
+
|
|
169
|
+
To attach an image: click the **paperclip icon** next to the chat box.
|
|
170
|
+
|
|
171
|
+
### Three modes
|
|
172
|
+
|
|
173
|
+
The plugin has three tabs at the top:
|
|
174
|
+
|
|
175
|
+
| Tab | What it does |
|
|
176
|
+
|---|---|
|
|
177
|
+
| **Chat** | Ask questions — the AI answers but does not change your Figma file |
|
|
178
|
+
| **Code** | The AI builds and edits your Figma design directly using MCP tools |
|
|
179
|
+
| **Design + Code** | Same as Code, but also generates component source code (React/Vue/Svelte) and writes it to your VS Code workspace |
|
|
180
|
+
|
|
181
|
+
### Design + Code mode (dual output)
|
|
182
|
+
|
|
183
|
+
This is the most powerful mode. From a single prompt in Figma, the AI:
|
|
184
|
+
|
|
185
|
+
1. **Creates the component in Figma** — with proper auto layout, variants, properties, and design tokens
|
|
186
|
+
2. **Generates matching code** — component file, CSS module, and Storybook story
|
|
187
|
+
3. **Writes the code to your VS Code workspace** — files appear in `src/components/` automatically
|
|
188
|
+
|
|
189
|
+
The VS Code bridge extension (installed automatically by `npm run setup`) connects in the background. You'll see a status indicator in the Figma plugin showing whether VS Code is connected. If VS Code is not running, code output still appears in the Figma chat as text.
|
|
190
|
+
|
|
191
|
+
### Switching providers
|
|
192
|
+
|
|
193
|
+
Use the provider badge in the plugin header to switch between Claude, OpenAI, and Gemini.
|
|
194
|
+
|
|
195
|
+
- **Claude** uses the account logged into the Claude CLI
|
|
196
|
+
- **OpenAI** uses the account logged into `codex` at the time you switch
|
|
197
|
+
- **Gemini** uses the authenticated Gemini CLI account when available, otherwise it falls back to API key mode
|
|
198
|
+
|
|
199
|
+
Setup registers the same Figma MCP server for Claude, Codex, and Gemini CLI, so switching providers reuses the running bridge and MCP connection automatically.
|
|
200
|
+
|
|
201
|
+
The active provider will show its signed-in email in the auth strip when available.
|
|
202
|
+
|
|
203
|
+
## Gemini CLI workflow
|
|
204
|
+
|
|
205
|
+
If you want Gemini to use the real Figma MCP tools instead of API-key text mode, use Gemini CLI.
|
|
206
|
+
|
|
207
|
+
### 1. Install Gemini CLI
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
npm install -g @google/gemini-cli
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### 2. Sign in with your Google account
|
|
214
|
+
|
|
215
|
+
Run either of these:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
gemini
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
gemini auth login
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
That opens the Google browser OAuth flow. After it completes, re-run:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
npm run setup
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Setup writes the Figma MCP registration into `~/.gemini/settings.json`, so the Gemini CLI subprocess can call the same 64 Figma tools as Claude and Codex.
|
|
232
|
+
|
|
233
|
+
### 3. Use Gemini inside the plugin
|
|
234
|
+
|
|
235
|
+
1. Start the bridge with `npm start`
|
|
236
|
+
2. Open the Figma plugin
|
|
237
|
+
3. Choose the **Gemini** provider
|
|
238
|
+
4. Send a design request
|
|
239
|
+
|
|
240
|
+
When Gemini CLI auth is present, the relay uses Gemini CLI subscription mode. If Gemini CLI is not authenticated, the plugin falls back to Gemini API-key mode, which is lower fidelity and does not provide the same MCP-driven tool execution.
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Every time you restart your computer
|
|
245
|
+
|
|
246
|
+
If setup completed successfully on macOS, the bridge relay is installed as a background service and should start automatically after login.
|
|
247
|
+
|
|
248
|
+
If you ever need to start it manually:
|
|
249
|
+
|
|
250
|
+
1. Open Terminal in the project folder (same as Step 1 above)
|
|
251
|
+
2. Run:
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
npm start
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
3. Open Figma and click **▶ Start** in the plugin panel
|
|
258
|
+
|
|
259
|
+
4. Run:
|
|
260
|
+
|
|
261
|
+
```bash
|
|
262
|
+
npm run status
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
That's it — you're connected again.
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Troubleshooting
|
|
270
|
+
|
|
271
|
+
| What went wrong | How to fix it |
|
|
272
|
+
|---|---|
|
|
273
|
+
| **"npm: command not found"** | Node.js is not installed — download it from [nodejs.org](https://nodejs.org) |
|
|
274
|
+
| **Plugin shows "Disconnected"** | Run `npm start` in Terminal first, then click Start in the plugin |
|
|
275
|
+
| **Not sure what is broken** | Run `npm run status` for a one-command diagnostic and follow the printed next actions |
|
|
276
|
+
| **OpenAI provider can chat but cannot use Figma tools** | Run `npm run register:codex-mcp`, then `npm run status` |
|
|
277
|
+
| **Gemini appears to answer but does not build in Figma** | Install Gemini CLI with `npm install -g @google/gemini-cli`, run `gemini` to sign in, then re-run `npm run setup` |
|
|
278
|
+
| **Chat does nothing / no response** | Open Terminal and run `claude login` for Claude, `codex login` for OpenAI, or `gemini` for Gemini. Then switch providers once in the plugin or reconnect it — no `npm start` restart needed |
|
|
279
|
+
| **`unexpected argument '--approval-mode'` in plugin chat** | Your plugin is using an older Codex CLI invocation. Update to the latest repo version or patch `figma-bridge-plugin/codex-runner.js` to use `codex exec --json` instead of `--approval-mode` / `--quiet` |
|
|
280
|
+
| **"dist/index.js not found"** | Run `cd figma-intelligence-layer && npm run build` in Terminal |
|
|
281
|
+
| **Wrong Figma token / token expired** | Re-run `npm run setup` and paste your new token when asked |
|
|
282
|
+
| **MCP tools missing in VS Code / Cursor / Zed etc.** | Run `npm run connect` then restart the tool |
|
|
283
|
+
| **"Design + Code" shows "VS Code not connected"** | Restart VS Code after running `npm run setup` — the bridge extension loads on startup |
|
|
284
|
+
| **Port 9001 already in use** | `npm run setup` now handles this automatically — just run it again |
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Folder structure (for the curious)
|
|
289
|
+
|
|
290
|
+
```
|
|
291
|
+
setup.sh ← the one-command setup script (does everything)
|
|
292
|
+
figma-bridge-plugin/
|
|
293
|
+
manifest.json ← import this file into Figma
|
|
294
|
+
bridge-relay.js ← background bridge (npm start runs this)
|
|
295
|
+
chat-runner.js ← connects Claude to the plugin chat
|
|
296
|
+
codex-runner.js ← connects OpenAI Codex to the plugin chat
|
|
297
|
+
gemini-cli-runner.js ← connects Gemini CLI to the plugin chat
|
|
298
|
+
shared-prompt-config.js ← system prompts, design systems, dual output prompt
|
|
299
|
+
ui.html / code.js ← the plugin's visual panel (Chat / Code / Design+Code)
|
|
300
|
+
figma-intelligence-layer/
|
|
301
|
+
src/ ← source code for the AI tools
|
|
302
|
+
dist/index.js ← built/compiled version (created by setup)
|
|
303
|
+
vscode-chat-extension/ ← VS Code bridge extension (auto-installed by setup)
|
|
304
|
+
src/extension.ts ← background service that writes code files
|
|
305
|
+
src/dual-output.ts ← parses code output from AI responses
|
|
306
|
+
src/code-generator.ts ← writes component files to workspace
|
|
307
|
+
src/preview-server.ts ← Storybook live preview manager
|
|
308
|
+
design-bridge/ ← Asset MCP bridge (Stitch, Unsplash, Pexels, Iconify)
|
|
309
|
+
ui-components/ ← Generated React component library with Storybook
|
|
310
|
+
scripts/ ← Utility scripts (status, connect, cleanup)
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## Contributing
|
|
316
|
+
|
|
317
|
+
1. Fork the repo and create a feature branch
|
|
318
|
+
2. Run `npm run setup` to install all dependencies
|
|
319
|
+
3. Make your changes
|
|
320
|
+
4. Run `npm run status` to verify everything works
|
|
321
|
+
5. Open a pull request
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## License
|
|
326
|
+
|
|
327
|
+
This project is licensed under [CC BY-NC-ND 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/) — you are free to use it, but you may not distribute modified versions or use it commercially. See [LICENSE](./LICENSE) for details.
|