Repository navigation
SIMAI Framework IntelliSense 0.1.0: contract 1.3.0, packaging hygiene, registry-driven completions - #1
Merged
Conversation
Take the identity from the release lock build input simai/ui-source 1d26dd48 (tree 5b4d11c9) instead of a moving HEAD. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Exclude everything by default and list the runtime files: compiled out/ JavaScript without tests, generators or maps, the data/ registries, the docs, the licence and the icon. Local state such as .simai/ can no longer be packaged. The generated registry moves from src/registry to data/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Write SIMAI Framework in capitals, add the icon, keywords, categories, repository, bugs and homepage, an end-user README, CONTRIBUTING.md and CHANGELOG.md. Replace the deprecated vsce with @vscode/vsce and refresh dev dependencies (npm audit: 0 vulnerabilities). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
runTest.ts now launches VS Code through @vscode/test-electron with a short user data directory, and a mocha suite calls vscode.executeCompletionItemProvider. The first request used to come back without SF items because onLanguage activation finished while VS Code was already collecting providers; the extension now also activates on onStartupFinished and reads its registry lazily so activation stays cheap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
vendor:framework copies the contract registry, core.css, public variables, the safe utility sheets and smart manifests from simai/ui with git show at the commits named by the release lock (ui-a9636b60d3e3), checking commit and runtime trees. The generator verifies every file against contracts/framework.pointer.json and builds data/sf-framework.json: safe tags with manifest attributes, values and deprecations, utility classes, and --sf- tokens resolved for light/dark and mobile/desktop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Complete sf- custom element tags, their attributes and values in markup, utility classes in class/className and as escaped selectors in stylesheets, and every --sf- token with its resolved values. Colour tokens get swatches in the list and in the document, and the picker offers the nearest Framework colour token. Hovers describe tokens, classes, tags and attributes with the source release and lifecycle. Deprecated attributes are struck through with their replacement. Class selectors no longer complete after a dot in markup or scripts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fixtures are written to disk so the language comes from the file extension, and SF_EXTENSION_PATH points the runner at another copy of the extension, such as the folder installed from the packaged .vsix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Runs on pushes to main and on pull requests: npm ci, compile and lint, unit tests, both registry parity gates, extension-host tests under xvfb, a vsce ls check that only runtime files ship, and the packaged .vsix with its sha256 as an artifact. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brings the extension up to date with SIMAI Framework release
ui-a9636b60d3e3and turns it into a full IntelliSense extension (0.1.0).Phase 1: hygiene and contract
b70d02d6…), taken from the release contract rather than a moving HEAD..vscodeignore: the VSIX now ships only the runtime (20 files, ~67 KB). Before, it also shipped sources, tests,.vscodeand local working files.vscewith@vscode/vsce, and runnpm audit fix(0 vulnerabilities).test:extension: it now runs a real extension host. Also fix the first completion being lost right after activation.Phase 2: Framework-driven completions
framework-contract-registry.jsonand the built sheets, with a--checkparity gate.sf-tags, their attributes and attribute values, utility classes (inclass,classNameand CSS selectors) and--sf-tokens.safe_to_suggestentries are offered; deprecated entries are tagged with their replacement.Verification
npm test: 20/20 passnpm run test:extension: 18 passing in VS Code 1.139npm run generate:check: both snapshots PASS (13 tags, 1058 classes, 922 tokens)vsce ls: runtime files onlysimai.sf-vscode@0.1.0)Known limits
sf-tags are suggested. The Framework registry marks just 36 of its 345 entries assafe_to_suggest, and 53 smart components are stillexperimental. Coverage grows when the Framework promotes entries; no change is needed here.🤖 Generated with Claude Code