| name | vscode-extension-workflow |
| description | Build, lint, test, and package this VS Code extension. Use when changing extension commands, activation, packaging, or build/test scripts. |
| compatibility | Requires Node.js, npm, and VS Code extension tooling. |
Use this skill when working on workflows or commands for this repo's VS Code extension.
Shared conventions
- Follow
AGENTS.md for coding style, TypeScript/lint rules, testing conventions, and shared engineering constraints.
- Keep this skill focused on workflow/packaging/command concerns.
Key files
Commands
- Install deps:
npm install
- Bundle (dev):
npm run esbuild
- Bundle (minified):
npm run vscode:prepublish
- Type check:
npm run compile
- Lint:
npm run lint
- Tests:
npm test
Single test
- Prefer VS Code Testing view; tests are discovered in
src/test/ (*.test.ts).
- CLI:
npm test -- --grep "<test name substring>".
Workflow checklist
- Update
package.json commands or contributions as needed.
- Keep
README.md in sync with new commands or settings.
- Avoid editing generated output in
out/ or dist/.
- Match existing TypeScript style and ESLint rules.
- Run
npm run compile, npm run lint, and npm test after changes when feasible.
- Keep docs DRY: reference
package.json as command/settings source of truth.
- Follow
AGENTS.md for design-first, SOLID/DRY, and minimal-change guidance when changing scripts/contributions.
- Avoid unnecessary refactors of scripts/contributions; keep workflow edits minimal and focused.
Feature/workflow hotspots
- Filter controls now support per-field modes (Contains/Regex/Glob) and recent-filter operations.
- Custom view flows include select/apply/toggle/import/export plus workspace/global storage scope (see
custom-views.md for schema and constraints).
- Performance behavior includes
refreshMode, debounceDelay, and adaptiveDebounce settings.
- Search and saved filters use persistent stores (
SearchHistoryStore, SavedFiltersStore).
Gotchas
- The extension activates on
onLanguage:arxml.
- Additional activation occurs for views (
arxml-integrated-view, bookmark-tree-view).
- ESLint uses flat config (
eslint.config.js), not legacy eslintrc files.
- Tests are Mocha-based and executed via the VS Code test runner.