Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npx lint-staged
40 changes: 40 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# mock-openai

## Before Every Commit

Run these checks on all changed files before committing:

```bash
pnpm run format:check # prettier
pnpm run lint # eslint
pnpm run test # vitest
```

If prettier or eslint fail, fix with:

```bash
npx prettier --write <files>
npx eslint --fix <files>
```

A pre-commit hook (husky + lint-staged) runs prettier and eslint automatically
on staged files, but always verify manually before pushing — CI checks the
entire repo, not just staged files.

## Project Structure

- `src/` — TypeScript source (server, router, helpers, responses, types)
- `src/__tests__/` — Vitest test suite
- `docs/` — GitHub Pages website (static HTML)
- `fixtures/` — Example fixture JSON files shipped with the package

## Testing

- Tests live in `src/__tests__/` and use Vitest
- When adding features or fixing bugs, add or update tests
- Run `pnpm test` before pushing

## Commit Messages

- Plain English, no conventional commit prefixes (no feat:, fix:, chore:, etc.)
- No Co-Authored-By lines
9 changes: 8 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,12 @@
"test:exports": "publint && attw --pack .",
"lint": "eslint .",
"format:check": "prettier --check .",
"release": "pnpm build && changeset publish"
"release": "pnpm build && changeset publish",
"prepare": "husky"
},
"lint-staged": {
"*.{ts,mts,js,mjs,cjs,json,html,css,md}": "prettier --write",
"*.{ts,mts,js,mjs}": "eslint --fix"
},
"devDependencies": {
"@arethetypeswrong/cli": "^0.17.3",
Expand All @@ -46,6 +51,8 @@
"@eslint/js": "^9.30.0",
"eslint": "^9.30.0",
"eslint-config-prettier": "^10.1.5",
"husky": "^9.1.7",
"lint-staged": "^16.3.2",
"prettier": "^3.6.2",
"publint": "^0.3.12",
"tsdown": "^0.12.5",
Expand Down
Loading
Loading