Commit fe53f3f
authored
chore: onboard api-creator as a Lisa project (Bun) (#4)
* chore: migrate from npm to bun
Replace npm with Bun as the package manager. Delete package-lock.json
and generate bun.lock. Update .gitignore for coverage and Lisa backups.
🤖 Generated with Claude Code
Co-Authored-By: Claude
* feat: add Lisa project governance templates
Install @codyswann/lisa and apply TypeScript stack templates:
- ESLint flat config with local overrides for initial onboarding
- Prettier, commitlint, husky hooks (pre-commit, pre-push, commit-msg)
- Vitest config with coverage thresholds
- TypeScript strict config extending Lisa base
- Knip dead code detection
- ast-grep structural search
- GitHub Actions: CI quality workflow, Claude workflows, dependabot
- Reusable publish-to-npm workflow with OIDC
🤖 Generated with Claude Code
Co-Authored-By: Claude
* fix: resolve ESLint and Prettier violations for Lisa compliance
- Fix unused variables (prefix with _ or remove)
- Auto-fix prefer-template, prefer-const, brace-style
- Apply Prettier formatting across all source and test files
- Fix irregular whitespace in JSDoc comment
🤖 Generated with Claude Code
Co-Authored-By: Claude
* ci: update release workflow for Bun and reusable publish
- Replace npm with Bun for install/build/test steps
- Add oven-sh/setup-bun@v2 step
- Chain the reusable publish-to-npm.yml workflow instead of
inline OIDC publish logic
🤖 Generated with Claude Code
Co-Authored-By: Claude
* fix: add lint/format/knip binaries as direct devDependencies
Lisa's postinstall overwrites knip.json (copy-overwrite), which
removes project-specific ignoreBinaries entries. Instead of fighting
the config, declare eslint, prettier, knip, and @ast-grep/cli as
direct devDependencies so knip can resolve them.
Also re-add coverage/ to .prettierignore after Lisa overwrite.
🤖 Generated with Claude Code
Co-Authored-By: Claude
* fix: conform codebase to Lisa standards with zero relaxed rules
- Reset eslint.config.local.ts to empty (test-only overrides for jsdoc,
duplicate strings, publicly-writable-directories, max-lines)
- Reset eslint.thresholds.json to defaults (complexity 10, 300 lines, 75/fn)
- Reset vitest.thresholds.json to 70/70/70/70 coverage
- Remove globals:true from vitest.config.local.ts, add coverage exclusions
for src/types (pure interfaces), src/recorder (Playwright), src/cli.ts
- Replace .gitignore with Lisa template + project-specific entries
- Rename test/ → tests/ to match Lisa convention
Split 5 oversized files (all now ≤300 lines):
- cli-project-emitter.ts → + auth-emitter, commands-emitter,
graphql-commands-emitter, cli-entrypoint-emitter
- client-emitter.ts → + client-method-emitter
- type-inferrer.ts → + property-inferrer
- project-runner.ts → + endpoint-command-builder
- commands/test.ts → + test-helpers
Deduplicate singularize/camelToKebab/kebabToCamel into utils/naming.ts.
Fix all ESLint violations: functional/immutable-data (array-literal patterns),
functional/no-let, jsdoc/*, code-organization, sonarjs/*, no-param-reassign.
Add 338 tests across 31 files (up from 66 tests / 9 files).
Coverage: 89% stmts, 77% branches, 92% functions, 90% lines.
🤖 Generated with Claude Code
Co-Authored-By: Claude
* fix: address CodeRabbit review feedback on CI workflows
- Update claude-ci-auto-fix.yml workflow trigger to match renamed
'🔍 CI Quality Checks' workflow name
- Remove broken manual OIDC token wiring from publish-to-npm.yml;
npm CLI v11.5.1+ handles OIDC exchange automatically via
`npm publish --provenance`
🤖 Generated with Claude Code
Co-Authored-By: Claude
---------
Co-authored-by: Cody Swann <cody.swann@gmail.com>1 parent 011f1ca commit fe53f3f
135 files changed
Lines changed: 16213 additions & 11207 deletions
File tree
- .claude
- rules
- .github
- workflows
- .husky
- ast-grep
- rule-tests
- rules
- utils
- bin
- specs
- src
- commands
- generator
- importer
- parser
- recorder
- runtime
- types
- utils
- tests
- commands
- generator
- importer
- parser
- runtime
- utils
- test
- generator
- importer
- parser
- utils
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
0 commit comments