# Build outputs
dist
coverage

# Dependencies
node_modules

# Logs
*.log
npm-debug.log*

# Lock files
package-lock.json
pnpm-lock.yaml
yarn.lock

# Config files that should not be formatted
*.config.js
*.config.cjs
*.config.mjs

# Generated files
.changelog

# Runtime state
runtime-state

# Generated by scripts/generate-gate-index.js and verified by validate:gate-index.
# Prettier re-pads the markdown table columns, which makes the generator's output and the
# committed file disagree — validate:all then fails on every commit that touches this file.
# The generator owns the formatting.
resources/gates/_index.md

# Generated by scripts/generate-framework-schemas.ts and verified by validate:schemas.
# Same disagreement as the gate index, in the other direction: the generator emits
# JSON.stringify(…, 2), which puts every enum member on its own line, while lint-staged's
# `prettier --write` on *.json collapses short arrays onto one. The committed files had already
# drifted this way — 90 diff lines, all of it array wrapping — so the freshness check could not
# go green until the generator owned the formatting.
resources/schemas/framework.schema.json
resources/schemas/phases.schema.json

# Generated by scripts/capture-tool-schemas.mjs and verified by validate:tool-schemas.
# The third instance of the disagreement above, and the same direction: the generator emits
# JSON.stringify(…, 2) while prettier collapses short arrays. Latent until 2026-09-02, when a
# widened `resource_manager` surface produced the first enum prettier wanted to reflow — failing
# lint-staged on a file no human edits. Ignoring it costs no verification: `--check` compares
# PARSED content, so the published-surface gate is unaffected by byte formatting.
tests/snapshots/mcp-input-schemas.json
