All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Colocation in monorepos now resolves paths relative to the target package directory, so
.figma.ts(x)files land next to the actual component files (affects Chakra, ZapUI, etc.)
- Default concurrency reduced from 8 to 5 for better compatibility with LLM proxies
- Improved TOML comments for
concurrencysetting to explain its purpose and troubleshooting
- Added comprehensive error handling for common API errors:
- 402 billing/quota errors with links to billing dashboards
- 408 timeout errors with retry guidance
- 413/context length errors with model suggestions
- 502/503 service unavailable with concurrency advice (helps LiteLLM/Bedrock users)
- 529 overloaded (Anthropic-specific) with wait guidance
- Content policy violations with troubleshooting tips
- Rate limit (429) errors now suggest lowering concurrency as first troubleshooting step
- Renamed intermediate results directory from
superconnect/tosuperconnect-logs/for clarity- All pipeline artifacts (repo-summary.json, figma-components-index.json, orientation.jsonl, codegen-summaries/, etc.) now written to
superconnect-logs/ - Updated documentation, scripts, tests, and .gitignore to reflect new naming
- No changes to config file name (
superconnect.toml) or package/binary names
- All pipeline artifacts (repo-summary.json, figma-components-index.json, orientation.jsonl, codegen-summaries/, etc.) now written to
- Agent SDK is now the default backend — 33% faster, 6x fewer tokens vs Messages API
- Default model changed to
claude-sonnet-4-5 - Default max tokens increased from 2048 to 16384
- Agent SDK mode with autonomous codebase exploration (Read, Glob, Grep tools)
--no-agent-sdkflag to use Messages API instead- Expanded E2E test coverage (7 Chakra + 6 ZapUI components with semantic assertions)
- Validation false positives on valid Code Connect files
- Angular codegen confusion when React quickstart docs present
- Agent SDK thinking text leaking into generated code
- Migrated from Jest to
node:test(faster, zero deps) - Consolidated utilities into
src/util/naming.jsandsrc/util/fs-helpers.js - Streamlined documentation
- Windows PowerShell output visibility: Child process output (Figma scan details, code generation progress) now displays correctly on Windows
- Root cause:
spawnSyncwithshell: truespawned cmd.exe as intermediary, which interfered with console output and ANSI color codes - Solution: Call Node.js scripts directly via
process.execPathwith argument arrays instead of shell command strings - Eliminates shell quoting/escaping issues and works identically across all platforms
- Root cause:
- Refactor validation layer to use hybrid AST/regex approach
- Replace regex-based
figma.*()extraction with ts-morph AST traversal for better edge case handling - Keep proven regex patterns for template/JSX validation
- Improves correctness (+43%) and maintainability (+33%) with minimal performance impact
- Replace regex-based
- Replace npx with direct CLI invocation for Figma validation (4x faster on Windows)
- Resolve @figma/code-connect binary path directly from node_modules
- Use process.execPath (node) to invoke CLI instead of npx
- Eliminates ~30s npx overhead per CLI call on Windows
- Windows CI improved from 64s to 16s for unit tests
- Reduce timeout from 120s to 30s (no package download overhead)
- Trigger CI unit tests on version tags in addition to branch pushes
- Improve release process documentation with pre-flight checks and error summaries
- Remove global Figma CLI pre-install from CI workflow (no longer needed)
- CRITICAL: Windows compatibility for validation - add
shell: trueto all npx spawn calls- v0.2.6 used
npx.cmdbut still failed with EINVAL on Windows - Now uses
shell: truewhich is the Node.js recommended approach for cross-platform compatibility - Removes platform-specific npx.cmd detection in favor of simpler, more robust solution
- v0.2.6 used
- CRITICAL: Windows npx compatibility - use npx.cmd on Windows to prevent ENOENT errors
- Previously caused 100% validation failure on Windows with "spawnSync npx ENOENT"
- Affects all Code Connect file validation attempts
- Now correctly detects Windows platform and uses npx.cmd
- Streamline agent documentation for clarity and reduced token usage
- CRITICAL: Move @figma/code-connect from devDependencies to dependencies
- Previously, global npm installs (
npm install -g @bitovi/superconnect) did not include the Figma CLI - This caused 100% validation failure on all Code Connect files with "unknown error"
- Now the CLI is always installed with superconnect
- Previously, global npm installs (
- Add upfront check for Figma CLI availability with clear troubleshooting steps
- Improve validation error messages to show exit code, stdout, and stderr for debugging
- Fix Anthropic SDK 0.71.2 compatibility:
- Add explicit
stream: falsefor non-streaming requests - Increase timeout to 20 minutes for long-running orientation tasks (SDK default was 10 minutes)
- Add explicit
- Update dependencies to latest compatible versions:
- @anthropic-ai/sdk: 0.18.0 → 0.71.2
- commander: 12.1.0 → 14.0.2
- openai: 4.104.0 → 6.14.0
- undici: 6.18.1 → 7.16.0
- @figma/code-connect: 1.3.12 (already current)
- Keep chalk at 4.1.2 and p-limit at 3.1.0 (newer versions are ESM-only, incompatible with CommonJS)
- Add helpful error messages when API returns "Invalid model name" errors (400 status)
- Shows current model being used
- Suggests common alternatives (gpt-4o, claude-sonnet-4-5, etc.)
- Explains how to set model via superconnect.toml or CLI flag
- Links to model documentation
- Warn users when using custom
base_urlwithout explicitly setting amodel- Prevents confusion when default model doesn't exist on custom endpoints
- Applies to LiteLLM, Azure OpenAI, vLLM, and other OpenAI-compatible proxies
- Windows compatibility: Use Node's native fetch instead of undici to fix "fetch failed" errors on Windows PowerShell with corporate networks
- Include CHANGELOG.md in npm package files array so users can see release notes
- Change CI workflow to use
npm ciinstead ofnpm installfor consistency with publish workflow - Add .npmrc with engine-strict=true to enforce Node >=22 requirement (was only advisory before)
- Remove redundant .npmignore file (files[] array in package.json already controls what's published)
- Include .version-sha in npm package files array (was being generated but not included in published package)
- Include git SHA in npm package version output via prepublishOnly script
- E2E tests now run in parallel using GitHub Actions matrix strategy
- Read api_key from superconnect.toml when validating agent token (interactive setup bug where custom API keys were written to TOML but not read during validation)
- BREAKING: Rename
[agent]config keys for semantic clarity:backend→api(values:"anthropic"or"openai")sdk_model→model- Value
"claude"→"anthropic"(reflects API format, not model)
- BREAKING: Rename CLI flags:
--agent-backend→--agent-api - Old config keys still work with deprecation warnings; update recommended
- Make superconnect.toml self-documenting with clearer comments and actionable guidance
- Replace all gpt-4 references with gpt-5.1-codex-mini (only gpt-5 class models in examples)
- LiteLLM and OpenAI-compatible endpoint support for agent APIs
- New
base_urlandapi_keyfields in[agent]section of superconnect.toml for custom endpoints - Support for OPENAI_BASE_URL environment variable
- CLI flags
--agent-base-urland--agent-api-keyfor run-orienter.js and run-codegen.js --versionflag to display version number with git SHA (e.g., "0.2.0 (abc1234)")- Interactive prompting for custom endpoint configuration (base_url/api_key) when choosing OpenAI API on first run
- All configuration options now visible in generated superconnect.toml with helpful comments
- Deprecation warnings when old config keys (
backend,sdk_model) are detected - Comprehensive unit tests for custom endpoint support
- Documentation for using LiteLLM, Azure OpenAI, vLLM, and other OpenAI-compatible servers
- Enhance error diagnostics for network and certificate issues in corporate environments across all pipeline stages
- Add detailed error logging to agent adapters (error type, code, status, cause) to help diagnose connection failures
- Improve error messages for TLS/SSL certificate errors with specific troubleshooting steps for locked-down networks
- Add network error detection and corporate environment guidance to Figma scan stage
- Add enhanced authentication and file-not-found error messages to Figma API requests
- Preserve network error details in React/Angular codegen (no longer wrapped as generic "Agent error")
- Flag network vs agent errors in codegen attempt logs for better diagnostics
- Always display log file locations when stages fail so users can access complete diagnostic information
- Point users to docs/NETWORK-TROUBLESHOOTING.md for detailed corporate network help
- Improve README comparison with Figma Code Connect, clarifying that Superconnect works fully automatically and supports Angular/HTML (which Figma's interactive setup does not)
- Add
scope: '@bitovi'parameter to setup-node in publish workflow for proper scoped package authentication
- Remove
prepublishOnlyhook that caused npm publish to run tests twice, leading to intermittent publish failures
- Fix duplicate logDir property in test file causing intermittent test failures
- Upgrade project to require Node.js ≥ 22.0.0 (previously ≥ 20.0.0)
- Update CI/CD workflows to use Node 22 consistently
- Update documentation (README.md, TESTING.md) to reflect Node 22 requirement
0.1.4 - 2025-12-15
- Fix test failures in CI by adding missing logDir parameter to processComponent calls
- Suppress Anthropic SDK --localstorage-file warnings in tests with NODE_NO_WARNINGS=1
0.1.3 - 2025-12-15
- Fix DEP0190 Node.js deprecation warning by removing
shell:truefrom spawnSync calls with args arrays - Fix boolean variant validation to recognize True/False, Yes/No, On/Off patterns as valid for
figma.boolean() - Strengthen prompt guidance prohibiting
&&,||, and ternary operators in example JSX/templates to prevent Code Connect validation errors
- Enhance retry prompts with explicit CRITICAL section directing agent to use only properties from Figma Component Data
- Add comprehensive agent I/O transcript logging for debugging (system/user prompts, outputs, token usage)
- Rename output directories for clarity:
codegen-logs→codegen-summaries,mapping-agent-logs→codegen-agent-transcripts
0.1.1 - 2025-12-15
- Update repository URLs to github.com/bitovi/superconnect
- Set up automated release workflow with GitHub Actions
- Add RELEASE.md documenting the release process
- Update documentation for npm granular access tokens
0.1.0 - 2025-12-15
- Initial release of @bitovi/superconnect
- AI-powered code generation for Figma Code Connect mappings
- Support for React and Angular frameworks
- Five-stage pipeline: repo summarizer, Figma scan, orienter, codegen, finalizer
- Claude (Anthropic) and OpenAI backend support
- Direct codegen with built-in validation and retry logic
- Graceful interrupt handling and partial runs
- Comprehensive test suite with E2E validation against Chakra UI and ZapUI
- Automatic framework detection (React/Angular)
- Component-level filtering with
--onlyand--excludeflags - Concurrent codegen with configurable parallelism
- Cached system prompts for efficient LLM usage
- Detailed logging and colorized console output
- figma.config.json generation for Code Connect CLI
- Support for monorepo path aliases
- Document URL substitutions for Figma node links