-
Notifications
You must be signed in to change notification settings - Fork 0
Build Test and Release
This page covers local development, VSIX packaging, and release checks for Export2AI.
| Requirement | Purpose |
|---|---|
VS Code / Cursor ^1.105.0
|
extension runtime target |
| Node.js 24+ | local build and release parity |
| npm | dependency install and scripts |
npm installnpm run compileThe compile pipeline:
- generate small target-model menu metadata
- run TypeScript compile
- sync comment-strip settings display
- merge
package.slim.jsoninto generatedpackage.json - sync extension metadata from version/changelog
npm run packageOutput:
build/export2ai-x.y.z.vsix
The release workflow expects VSIX files under build/.
| Script | Purpose |
|---|---|
npm run compile |
generated menus → TypeScript → settings sync → package merge |
npm run watch |
compile on save |
npm run package |
compile once and build VSIX |
npm run slim:package |
write slim manifest back before commit when needed |
npm run test:critical |
run the critical smoke matrix |
npm run test:critical:list |
list available smoke targets |
npm run test:tokens |
token format/model routing/manifest hygiene checks |
npm run test:soft-delete |
repository control and .git marker safety |
npm run test:settings-nav |
extension ID and settings metadata checks |
npm run test:explorer-badges |
badge provider default/off/opt-in behavior |
npm run test:menu-merge |
generated menu shape and Command Palette hides |
npm run test:marketplace-assets |
packaged icon/banner asset hygiene |
npm run test:live |
live zip creation smoke test |
npm run test:criticalThe critical matrix covers release-risk areas such as:
- token labels and tokenizer routing
- soft-delete placeholder behavior
- settings navigation and metadata
- Explorer badge gating
- menu merge and generated commands
- marketplace/VSIX hygiene
- live archive creation
Use focused targets while iterating, then run the full critical set before release.
Export2AI keeps a slim editable manifest and a generated runtime manifest:
| File | Edit directly? | Purpose |
|---|---|---|
package.slim.json |
yes | source-of-truth manifest without generated command expansion |
package.json |
generated by compile | merged manifest used by VS Code/Cursor |
scripts/generated/model-target-contributes.json |
generated | small model-target command layer |
If package.json grows unexpectedly into very large sizes, stop and inspect menu generation. The removed token-bucket command system must not return.
- Update changelog for the version.
- Ensure version metadata is correct in
package.slim.json. - Run:
npm install
npm run compile
npm run test:critical
npm run package- Inspect
build/export2ai-x.y.z.vsix. - Verify README, wiki, and docs match current behavior.
- Tag release according to repository convention.
- Confirm GitHub Release assets and optional marketplace publish steps.
Before publishing documentation changes:
-
README.mdremains compact and readable. - README links point to existing wiki pages.
-
wiki/Home.mdand_Sidebar.mdexpose all major pages. -
docs/README.mdlists technical docs and explains wiki source. - No generated zip files are committed.
- No unrelated source/code edits are included in a docs-only patch.
Export2AI · AI-ready zip archives for VS Code, Cursor, ChatGPT, Claude, and LLM coding agents.
Repository · README · Releases · Open VSX · GPL-3.0-only
Export2AI Wiki
Start
Safety & AI Context
- 🛡️ Safe Exports & Excludes
- 🌿 Git Metadata Soft-Delete
- 🧮 Token Estimates & AI Model Support
- 🧹 Comment Stripping & Compression
Configuration & Support
Contributors