Skip to content

Tags: let-sunny/canicode

Tags

v0.11.0

Toggle v0.11.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: release v0.11.0 (#419)

Highlights since 0.10.5:
- feat(rules): info-collection rule subtype (#410)
- feat(analysis): detect analysis scope (page vs component) (#411)
- feat(rules): missing-size-constraint scope-aware info-collection redesign (#403/#412)
- feat(contracts): separate rule-score and gotcha-annotation channels (#409)
- feat(cursor): bundle skills + canicode init --cursor-skills (#407/#416)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

v0.10.5

Toggle v0.10.5's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix(rule): tighten missing-interaction-state probe gate for variant-p…

…osition masters (#397) (#398)

Live walkthrough on Simple Design System (Community) node 3266-8701 surfaced 6
false-positive `missing-interaction-state` violations on Input Field, Textarea
Field, Button Group, and Button — all components whose source DOES carry the
flagged variant (Hover, Disabled, Focus). Verified by raw fixture dump.

Root cause: `canDetermineVariants` returned true as soon as `defs[componentId]`
existed, even when the fetched master had `componentPropertyDefinitions: null`
and a name in the variant-position pattern (e.g. `State=Default, Value
Type=Placeholder`). The variant axes for these masters live on the parent
COMPONENT_SET which the loader does not fetch — the rule was asserting a
missing variant from absence of evidence (same false-positive class as #354).

Fix: tighten the gate. Treat the master as undeterminable when both:
- `componentPropertyDefinitions` is null/undefined (no positive evidence), AND
- the master name matches `Word=Word(, Word=Word)*` (clearly a variant
  position whose axes live on the SET parent we did not fetch).

`{}` (vs null) is preserved as positive evidence — empty propDefs IS the API
saying "fetched, demonstrably no axes" so the rule still fires there.

Also bumps version to 0.10.5 and adds .pnpm-store/ to .gitignore.

Tests: +4 covering the two live-fixture shapes plus the empty-propDefs
positive-evidence regression guard. Verified end-to-end: re-analyze on the
same fixture after the fix surfaces 0 missing-interaction-state violations
where v0.10.4 surfaced 6.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

v0.10.4

Toggle v0.10.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): v0.10.4 (#396)

14 commits since v0.10.3 — bug fixes from live walkthrough on Simple Design System (Community), gotcha-survey UX features, and ADR-016 codification of the SKILL.md determinism rule.

Bug fixes (v0.10.3 walkthrough):
- #363 probeDefinitionWritability walks up to containing COMPONENT for .remote
- #374 missing-size-constraint targetProperty returns both bounds
- #373 instance-child sibling dedupe routed to source-component dedupe
- #372 inconsistent-naming suppressed when rename is a no-op
- #365 MCP analyze tool no longer auto-opens browser (opt-in)
- #366/#364/#367 README install: long-form npx flags, drop -e FIGMA_TOKEN, pick-one matrix

Features:
- #368/#369/#370 group + batch survey questions; Strategy B instance-child guard
- #371 re-analyze recognises canicode annotations as acknowledgments (half-weight density)

ADR-016 (deterministic logic in SKILL.md must live in TS) codification:
- #383 computeRoundtripTally
- #384 canonical computeDesignKey
- #385 upsert-gotcha-section helper + CLI subcommand
- #386 applyAutoFix Strategy D loop
- #388 ADR-016 codified
- #389 grep CI gate (scripts/check-skill-determinism)
- #390 PR template checklist + monthly audit reminder workflow

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

v0.10.3

Toggle v0.10.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): v0.10.3 (#362)

* chore(release): v0.10.3

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: align package + README copy with roundtrip direction

- package.json description: drop "Score your Figma designs" framing,
  use "Lint Figma designs for AI code-gen and roundtrip the answers
  back into the file" matching the post-roundtrip identity.
- README Step 4: re-analyze checks gotchas were addressed; grade
  movement is a side-effect (matches #341/#352 wrap-up rubric).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

v0.10.2

Toggle v0.10.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): v0.10.2 (#351)

Patch release bundling the v0.10.1 regression follow-up:

- #349 / #350 — `canicode init` output now lists the prereqs that come
  next (Install Figma MCP if missing, Restart Claude Code, Run
  /canicode-roundtrip) instead of a single ambiguous "Next: canicode
  analyze" hint. Detects an existing `.mcp.json` Figma entry and skips
  the install step when it is already present, so the same command
  prints a 2-step or 3-step checklist depending on environment.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

v0.10.1

Toggle v0.10.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): v0.10.1 (#348)

Patch release bundling four onboarding-test follow-ups (#332):

- #338 README install line shows `npx canicode init` (was `canicode init`)
- #339 Roundtrip Step 0 prechecks Figma MCP availability before burn-in
- #340 / ADR-015 gotcha SKILL.md uses workflow-on-top + accumulating per-design sections (no more overwrite)
- #341 Step 5 reports issues delta (X resolved / Y annotated / Z remaining), gated on V==0 instead of grade

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

v0.10.0

Toggle v0.10.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(release): v0.10.0 + wire CLI_INIT telemetry (#337)

* feat(telemetry): wire CLI_INIT event in init command

The CLI_INIT event name was added in #305 but never emitted from
init.ts, so init usage shipped invisible to the dashboards. Surfaced
during the #333 J telemetry audit.

Properties capture init-flow shape without PII: whether the user
opted into skill install, the install target (project vs global),
the --force flag, the per-summary counts, and whether the skill
step succeeded. No token, no path, no file content.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(release): v0.10.0

Cuts the next public release. Notable changes since v0.9.1:

- ADR-012 (#304/#307): annotate-by-default for definition writes;
  allowDefinitionWrite opt-in
- ADR-013 (#313/#314): scope boundary — code generation handed to
  figma-implement-design; canicode prompt CLI removed
- ADR-014 (#319/#321): Claude Code skills bundled in npm and
  installed via canicode init
- canicode-roundtrip orchestration skill (#280, #283, #289, #292)
- README repositioned roundtrip-first (#331)
- ONBOARDING-TEST.md walkthrough script (#329)
- Pre-launch fixes from #333: docs help text (#334), CLI/MCP topic
  alignment (#335), CLI_INIT telemetry wiring

Pushing the v0.10.0 tag triggers GitHub Actions npm publish.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

v0.9.1

Toggle v0.9.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: bump version to 0.9.1, add README.md to files field (#235)

npm web UI was not rendering README due to missing readme field in
version metadata. Explicitly include README.md in files array.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.9.0

Toggle v0.9.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: bump version to 0.9.0, update package description (#234)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.8.9

Toggle v0.8.9's commit message

Verified

This commit was signed with the committer’s verified signature.
let-sunny Minseon Kim
chore: bump version to 0.8.9

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>