Trim the root from 32 to 26 entries by parking metadata that GitHub
auto-discovers under .github/ and grouping movable tool configs under
a single config/ directory. Files that other tools / IDEs hard-code to
the root (tsconfig.json, eslint.config.js, vite.config.mts,
vitest.config.ts, .releaserc.js, package.json, pnpm-*, pyproject.toml,
__init__.py, conftest.py, CHANGELOG.md, README.md, LICENSE,
CLAUDE.md) stay where they were.
Moves:
CODEOWNERS → .github/CODEOWNERS
CONTRIBUTING.md → .github/CONTRIBUTING.md
CODE_OF_CONDUCT.md → .github/CODE_OF_CONDUCT.md
commitlint.config.js → config/commitlint.config.js
postcss.config.js → config/postcss.config.js
tailwind.config.js → config/tailwind.config.js
Reference updates:
- `.husky/commit-msg` — pass --config config/commitlint.config.js
- `vite.config.mts` — set `css.postcss` explicitly because Vite no
longer auto-discovers the moved postcss config from the root
- `config/postcss.config.js` — set Tailwind's `config:` option to
`config/tailwind.config.js` for the same reason
- `README.md` — link to .github/CONTRIBUTING.md
Validation: pnpm typecheck / lint / test / build:both / size, ruff
check, pytest -q — all green. Manager bundle hash + size unchanged
(tailwind preflight + custom rules still emitted at 79 KB).