hygiene
gitpod-io/openvscode-server/.github/skills/hygiene/SKILL.md
Use when making code changes to ensure they pass VS Code's hygiene checks. Covers the pre-commit hook, unicode restrictions, string quoting rules, copyright headers, indentation, formatting, ESLint, and stylelint. Run the hygiene check before declaring work complete.
Skill6.2k starsChanged 15 months ago
What's in it
- Hygiene Checks
- Running the hygiene check
- What it checks
--- name: hygiene description: Use when making code changes to ensure they pass VS Code's hygiene checks. Covers the pre-commit hook, unicode restrictions, string quoting rules, copyright headers, indentation, formatting, ESLint, and stylelint. Run the hygiene check before declaring work complete. --- # Hygiene Checks VS Code runs a hygiene check as a git pre-commit hook. Commits will be rejected if hygiene fails. ## Running the hygiene check **Always run the pre-commit hygiene check before declaring work complete.** This catches issues that would block a commit. To run the hygiene check on your staged files: ```bash npm run precommit ``` This executes `node --experimental-strip-types build/hygiene.ts`, which scans only **staged files** (from `git diff --cached`). To check specific files directly (without staging them first): ```bash node --experimental-strip-types build/hygiene.ts path/to/file.ts ``` ## What it checks The hygiene linter scans staged files for issues including (but not limited to): - **Unicode characters**: Non-ASCII characters (em-dashes, curly quotes, emoji, etc.) are rejected. Use ASCII equivalents in comments and code. Suppress with `// allow-any-unicode-next-line` or `// allow-any-unicode-comment-file`. - **Double-quoted strings**: Only use `"double quotes"` for externalized (localized) strings. Use `'single quotes'` everywhere else. - **Copyright headers**: All files must include the Microsoft copyright header. - **Indentation**: Tabs only, no spaces for indentation. - **Formatting**: TypeScript files must match the formatter output (run `Format Document` to fix). - **ESLint**: TypeScript files are linted with ESLint. - **Stylelint**: CSS files are linted with stylelint.
More agent context in gitpod-io/openvscode-server
10 other files this repository gives its agents.
AGENTS.md
CLAUDE.md
Copilot instructions
Skill
- accessibility.github/skills/accessibility/SKILL.md
- agent-sessions-layout.github/skills/agent-sessions-layout/SKILL.md
- author-contributions.github/skills/author-contributions/SKILL.md
- azure-pipelines.github/skills/azure-pipelines/SKILL.md
- fix-errors.github/skills/fix-errors/SKILL.md
- sessions.github/skills/sessions/SKILL.md
- tool-rename-deprecation.github/skills/tool-rename-deprecation/SKILL.md
Also found in 4 other repositories
The same file, byte for byte, in the weekly crawl of public GitHub.
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

