{"owner":"prettier","repo":"prettier-vscode","hasSkills":true,"totalSkillsCount":2,"totalTokensCount":883,"categories":["copilot-instructions","anthropic-skill"],"hasMcp":false,"mcpConfig":null,"found":[".github/copilot-instructions.md","test-fixtures/plugins/package.json"],"skills":{".github/copilot-instructions.md":"# Copilot Instructions\n\nThis is the official Prettier VS Code extension (`esbenp.prettier-vscode`). It provides code formatting using Prettier for Visual Studio Code, supporting JavaScript, TypeScript, CSS, HTML, Vue, and many other languages.\n\n## Development\n\n- Use `npm` as the package manager\n- Run `npm install` to install dependencies\n- Run `npm run compile` to build for development\n- Run `npm run test` to run tests (no VS Code instance can be running)\n- Run `npm run lint` to check linting\n- Run `npm run prettier` to format code\n\n## Architecture\n\nEntry points:\n\n- Desktop: `src/extension.ts` → bundled to `dist/extension.js`\n- Browser: Same entry, bundled to `dist/web-extension.cjs` (esbuild swaps `ModuleResolverNode.ts` → `ModuleResolverWeb.ts`)\n\nCore components:\n\n- `src/extension.ts` - Extension activation (async), creates ModuleResolver, PrettierEditService, and StatusBar\n- `src/PrettierEditService.ts` - Registers VS Code document formatting providers, handles format requests\n- `src/ModuleResolverNode.ts` - Resolves local/global Prettier installations, falls back to bundled Prettier (desktop)\n- `src/ModuleResolverWeb.ts` - Uses bundled standalone Prettier for browser (web)\n- `src/PrettierDynamicInstance.ts` - Implements `PrettierInstance` interface, loads Prettier dynamically using ESM `import()`\n- `src/types.ts` - TypeScript types including `PrettierInstance` interface\n\nesbuild produces two bundles:\n\n- Node bundle (`dist/extension.js`) for desktop VS Code\n- Web bundle (`dist/web-extension.js`) for vscode.dev/browser\n\n## Code Style\n\n- Use TypeScript for all source code\n- Follow existing code patterns in the codebase\n- Extension settings are prefixed with `prettier.` and defined in `package.json`\n- Use the VS Code extension API patterns already established in the codebase\n\n## Testing\n\n- Test fixtures live in `test-fixtures/` with their own `package.json` and Prettier configurations\n- The `.do-not-use-prettier-vscode-root` marker file stops module resolver from searching above test fixtures\n- Tests run inside a VS Code instance using the Extension Development Host\n\n## Code Review Guidelines\n\nWhen reviewing pull requests, focus on:\n\n### Security\n\n- No hardcoded secrets or credentials\n- Workspace Trust is respected when resolving modules from untrusted workspaces\n- User input is validated before use in file paths or module resolution\n\n### VS Code Extension Best Practices\n\n- Disposables are properly registered with `context.subscriptions` to prevent memory leaks\n- Async operations handle errors appropriately\n- User-facing messages go through `LoggingService` or VS Code's message APIs\n- Settings changes are handled correctly (some require reload)\n\n### Prettier Compatibility\n\n- Changes work with both Prettier v2 (sync) and v3+ (async/worker)\n- Module resolution fallback chain is maintained: local → global → bundled\n- Config file watching covers all Prettier config formats\n\n### Performance\n\n- Avoid blocking the extension host main thread\n- Prettier is loaded lazily using dynamic `import()` to minimize startup time\n- Module and config resolution results are cached appropriately\n\n### Browser Compatibility\n\n- Code in the main bundle should work in both Node.js and browser contexts\n- Browser build swaps `ModuleResolverNode.ts` → `ModuleResolverWeb.ts` via esbuild aliasing\n- No Node.js-only APIs in shared code paths\n","test-fixtures/plugins/package.json":"{\n  \"name\": \"testplugins\",\n  \"packageManager\": \"yarn@1.22.22\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Test folder for prettier plugins\",\n  \"private\": true,\n  \"scripts\": {\n    \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n  },\n  \"author\": \"jarrodldavis\",\n  \"license\": \"MIT\",\n  \"devDependencies\": {\n    \"@prettier/plugin-php\": \"^0.17.6\",\n    \"prettier\": \"^2.5.1\"\n  }\n}\n"},"files":{".github/copilot-instructions.md":"# Copilot Instructions\n\nThis is the official Prettier VS Code extension (`esbenp.prettier-vscode`). It provides code formatting using Prettier for Visual Studio Code, supporting JavaScript, TypeScript, CSS, HTML, Vue, and many other languages.\n\n## Development\n\n- Use `npm` as the package manager\n- Run `npm install` to install dependencies\n- Run `npm run compile` to build for development\n- Run `npm run test` to run tests (no VS Code instance can be running)\n- Run `npm run lint` to check linting\n- Run `npm run prettier` to format code\n\n## Architecture\n\nEntry points:\n\n- Desktop: `src/extension.ts` → bundled to `dist/extension.js`\n- Browser: Same entry, bundled to `dist/web-extension.cjs` (esbuild swaps `ModuleResolverNode.ts` → `ModuleResolverWeb.ts`)\n\nCore components:\n\n- `src/extension.ts` - Extension activation (async), creates ModuleResolver, PrettierEditService, and StatusBar\n- `src/PrettierEditService.ts` - Registers VS Code document formatting providers, handles format requests\n- `src/ModuleResolverNode.ts` - Resolves local/global Prettier installations, falls back to bundled Prettier (desktop)\n- `src/ModuleResolverWeb.ts` - Uses bundled standalone Prettier for browser (web)\n- `src/PrettierDynamicInstance.ts` - Implements `PrettierInstance` interface, loads Prettier dynamically using ESM `import()`\n- `src/types.ts` - TypeScript types including `PrettierInstance` interface\n\nesbuild produces two bundles:\n\n- Node bundle (`dist/extension.js`) for desktop VS Code\n- Web bundle (`dist/web-extension.js`) for vscode.dev/browser\n\n## Code Style\n\n- Use TypeScript for all source code\n- Follow existing code patterns in the codebase\n- Extension settings are prefixed with `prettier.` and defined in `package.json`\n- Use the VS Code extension API patterns already established in the codebase\n\n## Testing\n\n- Test fixtures live in `test-fixtures/` with their own `package.json` and Prettier configurations\n- The `.do-not-use-prettier-vscode-root` marker file stops module resolver from searching above test fixtures\n- Tests run inside a VS Code instance using the Extension Development Host\n\n## Code Review Guidelines\n\nWhen reviewing pull requests, focus on:\n\n### Security\n\n- No hardcoded secrets or credentials\n- Workspace Trust is respected when resolving modules from untrusted workspaces\n- User input is validated before use in file paths or module resolution\n\n### VS Code Extension Best Practices\n\n- Disposables are properly registered with `context.subscriptions` to prevent memory leaks\n- Async operations handle errors appropriately\n- User-facing messages go through `LoggingService` or VS Code's message APIs\n- Settings changes are handled correctly (some require reload)\n\n### Prettier Compatibility\n\n- Changes work with both Prettier v2 (sync) and v3+ (async/worker)\n- Module resolution fallback chain is maintained: local → global → bundled\n- Config file watching covers all Prettier config formats\n\n### Performance\n\n- Avoid blocking the extension host main thread\n- Prettier is loaded lazily using dynamic `import()` to minimize startup time\n- Module and config resolution results are cached appropriately\n\n### Browser Compatibility\n\n- Code in the main bundle should work in both Node.js and browser contexts\n- Browser build swaps `ModuleResolverNode.ts` → `ModuleResolverWeb.ts` via esbuild aliasing\n- No Node.js-only APIs in shared code paths\n","test-fixtures/plugins/package.json":"{\n  \"name\": \"testplugins\",\n  \"packageManager\": \"yarn@1.22.22\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Test folder for prettier plugins\",\n  \"private\": true,\n  \"scripts\": {\n    \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n  },\n  \"author\": \"jarrodldavis\",\n  \"license\": \"MIT\",\n  \"devDependencies\": {\n    \"@prettier/plugin-php\": \"^0.17.6\",\n    \"prettier\": \"^2.5.1\"\n  }\n}\n"},"items":[{"name":"package.json","path":"test-fixtures/plugins/package.json","rawUrl":"https://raw.githubusercontent.com/prettier/prettier-vscode/HEAD/test-fixtures/plugins/package.json","title":"testplugins","category":"anthropic-skill","format":"json","content":"{\n  \"name\": \"testplugins\",\n  \"packageManager\": \"yarn@1.22.22\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Test folder for prettier plugins\",\n  \"private\": true,\n  \"scripts\": {\n    \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n  },\n  \"author\": \"jarrodldavis\",\n  \"license\": \"MIT\",\n  \"devDependencies\": {\n    \"@prettier/plugin-php\": \"^0.17.6\",\n    \"prettier\": \"^2.5.1\"\n  }\n}\n","frontmatter":{"name":"testplugins","packageManager":"yarn@1.22.22","version":"1.0.0","description":"Test folder for prettier plugins","private":true,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":"jarrodldavis","license":"MIT","devDependencies":{"@prettier/plugin-php":"^0.17.6","prettier":"^2.5.1"}},"isInternal":false,"tokens":132,"sizeBytes":376},{"name":"copilot-instructions.md","path":".github/copilot-instructions.md","rawUrl":"https://raw.githubusercontent.com/prettier/prettier-vscode/HEAD/.github/copilot-instructions.md","title":"GitHub Copilot Instructions","category":"copilot-instructions","format":"markdown","content":"# Copilot Instructions\n\nThis is the official Prettier VS Code extension (`esbenp.prettier-vscode`). It provides code formatting using Prettier for Visual Studio Code, supporting JavaScript, TypeScript, CSS, HTML, Vue, and many other languages.\n\n## Development\n\n- Use `npm` as the package manager\n- Run `npm install` to install dependencies\n- Run `npm run compile` to build for development\n- Run `npm run test` to run tests (no VS Code instance can be running)\n- Run `npm run lint` to check linting\n- Run `npm run prettier` to format code\n\n## Architecture\n\nEntry points:\n\n- Desktop: `src/extension.ts` → bundled to `dist/extension.js`\n- Browser: Same entry, bundled to `dist/web-extension.cjs` (esbuild swaps `ModuleResolverNode.ts` → `ModuleResolverWeb.ts`)\n\nCore components:\n\n- `src/extension.ts` - Extension activation (async), creates ModuleResolver, PrettierEditService, and StatusBar\n- `src/PrettierEditService.ts` - Registers VS Code document formatting providers, handles format requests\n- `src/ModuleResolverNode.ts` - Resolves local/global Prettier installations, falls back to bundled Prettier (desktop)\n- `src/ModuleResolverWeb.ts` - Uses bundled standalone Prettier for browser (web)\n- `src/PrettierDynamicInstance.ts` - Implements `PrettierInstance` interface, loads Prettier dynamically using ESM `import()`\n- `src/types.ts` - TypeScript types including `PrettierInstance` interface\n\nesbuild produces two bundles:\n\n- Node bundle (`dist/extension.js`) for desktop VS Code\n- Web bundle (`dist/web-extension.js`) for vscode.dev/browser\n\n## Code Style\n\n- Use TypeScript for all source code\n- Follow existing code patterns in the codebase\n- Extension settings are prefixed with `prettier.` and defined in `package.json`\n- Use the VS Code extension API patterns already established in the codebase\n\n## Testing\n\n- Test fixtures live in `test-fixtures/` with their own `package.json` and Prettier configurations\n- The `.do-not-use-prettier-vscode-root` marker file stops module resolver from searching above test fixtures\n- Tests run inside a VS Code instance using the Extension Development Host\n\n## Code Review Guidelines\n\nWhen reviewing pull requests, focus on:\n\n### Security\n\n- No hardcoded secrets or credentials\n- Workspace Trust is respected when resolving modules from untrusted workspaces\n- User input is validated before use in file paths or module resolution\n\n### VS Code Extension Best Practices\n\n- Disposables are properly registered with `context.subscriptions` to prevent memory leaks\n- Async operations handle errors appropriately\n- User-facing messages go through `LoggingService` or VS Code's message APIs\n- Settings changes are handled correctly (some require reload)\n\n### Prettier Compatibility\n\n- Changes work with both Prettier v2 (sync) and v3+ (async/worker)\n- Module resolution fallback chain is maintained: local → global → bundled\n- Config file watching covers all Prettier config formats\n\n### Performance\n\n- Avoid blocking the extension host main thread\n- Prettier is loaded lazily using dynamic `import()` to minimize startup time\n- Module and config resolution results are cached appropriately\n\n### Browser Compatibility\n\n- Code in the main bundle should work in both Node.js and browser contexts\n- Browser build swaps `ModuleResolverNode.ts` → `ModuleResolverWeb.ts` via esbuild aliasing\n- No Node.js-only APIs in shared code paths\n","isInternal":false,"tokens":751,"sizeBytes":3379}],"systemPromptSnippet":"<yakaai_skills repo=\"prettier/prettier-vscode\">\n<!-- File: test-fixtures/plugins/package.json (Tokens: ~132 | Category: anthropic-skill) -->\n{\n  \"name\": \"testplugins\",\n  \"packageManager\": \"yarn@1.22.22\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Test folder for prettier plugins\",\n  \"private\": true,\n  \"scripts\": {\n    \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n  },\n  \"author\": \"jarrodldavis\",\n  \"license\": \"MIT\",\n  \"devDependencies\": {\n    \"@prettier/plugin-php\": \"^0.17.6\",\n    \"prettier\": \"^2.5.1\"\n  }\n}\n\n<!-- File: .github/copilot-instructions.md (Tokens: ~751 | Category: copilot-instructions) -->\n# Copilot Instructions\n\nThis is the official Prettier VS Code extension (`esbenp.prettier-vscode`). It provides code formatting using Prettier for Visual Studio Code, supporting JavaScript, TypeScript, CSS, HTML, Vue, and many other languages.\n\n## Development\n\n- Use `npm` as the package manager\n- Run `npm install` to install dependencies\n- Run `npm run compile` to build for development\n- Run `npm run test` to run tests (no VS Code instance can be running)\n- Run `npm run lint` to check linting\n- Run `npm run prettier` to format code\n\n## Architecture\n\nEntry points:\n\n- Desktop: `src/extension.ts` → bundled to `dist/extension.js`\n- Browser: Same entry, bundled to `dist/web-extension.cjs` (esbuild swaps `ModuleResolverNode.ts` → `ModuleResolverWeb.ts`)\n\nCore components:\n\n- `src/extension.ts` - Extension activation (async), creates ModuleResolver, PrettierEditService, and StatusBar\n- `src/PrettierEditService.ts` - Registers VS Code document formatting providers, handles format requests\n- `src/ModuleResolverNode.ts` - Resolves local/global Prettier installations, falls back to bundled Prettier (desktop)\n- `src/ModuleResolverWeb.ts` - Uses bundled standalone Prettier for browser (web)\n- `src/PrettierDynamicInstance.ts` - Implements `PrettierInstance` interface, loads Prettier dynamically using ESM `import()`\n- `src/types.ts` - TypeScript types including `PrettierInstance` interface\n\nesbuild produces two bundles:\n\n- Node bundle (`dist/extension.js`) for desktop VS Code\n- Web bundle (`dist/web-extension.js`) for vscode.dev/browser\n\n## Code Style\n\n- Use TypeScript for all source code\n- Follow existing code patterns in the codebase\n- Extension settings are prefixed with `prettier.` and defined in `package.json`\n- Use the VS Code extension API patterns already established in the codebase\n\n## Testing\n\n- Test fixtures live in `test-fixtures/` with their own `package.json` and Prettier configurations\n- The `.do-not-use-prettier-vscode-root` marker file stops module resolver from searching above test fixtures\n- Tests run inside a VS Code instance using the Extension Development Host\n\n## Code Review Guidelines\n\nWhen reviewing pull requests, focus on:\n\n### Security\n\n- No hardcoded secrets or credentials\n- Workspace Trust is respected when resolving modules from untrusted workspaces\n- User input is validated before use in file paths or module resolution\n\n### VS Code Extension Best Practices\n\n- Disposables are properly registered with `context.subscriptions` to prevent memory leaks\n- Async operations handle errors appropriately\n- User-facing messages go through `LoggingService` or VS Code's message APIs\n- Settings changes are handled correctly (some require reload)\n\n### Prettier Compatibility\n\n- Changes work with both Prettier v2 (sync) and v3+ (async/worker)\n- Module resolution fallback chain is maintained: local → global → bundled\n- Config file watching covers all Prettier config formats\n\n### Performance\n\n- Avoid blocking the extension host main thread\n- Prettier is loaded lazily using dynamic `import()` to minimize startup time\n- Module and config resolution results are cached appropriately\n\n### Browser Compatibility\n\n- Code in the main bundle should work in both Node.js and browser contexts\n- Browser build swaps `ModuleResolverNode.ts` → `ModuleResolverWeb.ts` via esbuild aliasing\n- No Node.js-only APIs in shared code paths\n</yakaai_skills>"}