@codyswann/lisa 1.76.1 → 1.76.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,6 +20,7 @@ Code Quality:
20
20
  - Make atomic commits with clear conventional commit messages.
21
21
  - Create clear documentation preambles for new code. Update preambles when modifying existing code.
22
22
  - Document the "why", not the "what". Code explains what it does; documentation explains why it exists.
23
+ - Always add new imports and their first usage in the same edit. The lint-on-edit hook runs `eslint --fix` after every Edit, which auto-removes unused imports. If you add an import in one edit and plan to use it in a second edit, the hook will strip the import before the second edit runs.
23
24
  - Add language specifiers to fenced code blocks in Markdown.
24
25
  - Use project-relative paths rather than absolute paths in documentation and Markdown.
25
26
  - Delete old code completely when replacing it. No deprecation unless specifically requested.
package/package.json CHANGED
@@ -74,7 +74,7 @@
74
74
  "flatted": "^3.4.2"
75
75
  },
76
76
  "name": "@codyswann/lisa",
77
- "version": "1.76.1",
77
+ "version": "1.76.3",
78
78
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
79
79
  "main": "dist/index.js",
80
80
  "exports": {
@@ -129,8 +129,8 @@
129
129
  "homepage": "https://github.com/CodySwannGT/lisa#readme",
130
130
  "dependencies": {
131
131
  "@ast-grep/cli": "^0.40.4",
132
- "@commitlint/cli": "^20.3.1",
133
- "@commitlint/config-conventional": "^20.3.1",
132
+ "@commitlint/cli": "^20.5.0",
133
+ "@commitlint/config-conventional": "^20.5.0",
134
134
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
135
135
  "@eslint/eslintrc": "^3.2.0",
136
136
  "@eslint/js": "^9.39.0",
@@ -172,7 +172,7 @@
172
172
  "picocolors": "^1.0.0",
173
173
  "prettier": "^3.3.3",
174
174
  "standard-version": "^9.5.0",
175
- "ts-jest": "^29.4.6",
175
+ "ts-jest": "^29.4.9",
176
176
  "ts-morph": "^27.0.2",
177
177
  "tsx": "^4.0.0",
178
178
  "typescript": "~5.7.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "1.76.1",
3
+ "version": "1.76.3",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -17,9 +17,12 @@ The caller provides pre-computed context:
17
17
  1. Read CLAUDE.md and package.json for project conventions
18
18
  2. Update eslint.thresholds.json with the proposed new threshold values (do NOT change the maxLines threshold)
19
19
  3. Run the project's lint script with the provided package manager (e.g., `npm run lint`, `yarn lint`, or `bun run lint`) to find functions that violate the new stricter thresholds
20
- 4. For cognitive complexity violations: use early returns, extract helper functions, replace conditionals with lookup tables
21
- 5. For max-lines-per-function violations: split large functions, extract helper functions, separate concerns
22
- 6. Re-run the lint script with the provided package manager to verify all violations are resolved
23
- 7. Run the project's test script with the provided package manager (e.g., `npm run test`, `yarn test`, or `bun run test`) to verify no tests are broken by the refactoring
24
- 8. Commit all changes (refactored code + updated eslint.thresholds.json) with conventional commit messages
25
- 9. Create a PR with `gh pr create` with a title like "refactor: reduce code complexity: [metrics being reduced]" summarizing the changes
20
+ 4. **Before editing**, check each violating file's total line count (`wc -l`). If a file is within 20 lines of its `max-lines` ESLint limit (typically 300), extract helpers into a **separate companion file** (e.g., `fooHelpers.ts`) instead of adding them to the same file. Extracting functions into the same file adds net lines and can create new max-lines violations.
21
+ 5. Fix violations one file at a time. Read only the specific function that violates do not pre-read all files upfront. Fix it, then move to the next.
22
+ 6. For cognitive complexity violations: use early returns, extract helper functions, replace conditionals with lookup tables
23
+ 7. For max-lines-per-function violations: split large functions, extract helper functions, separate concerns
24
+ 8. After each file edit, run the project's formatter (e.g., `bun run format` or `npx prettier --write <file>`) to ensure line counts reflect the final formatted state before moving on
25
+ 9. Re-run the lint script with the provided package manager to verify all violations are resolved (both the target metric AND max-lines)
26
+ 10. Run the project's test script with the provided package manager (e.g., `npm run test`, `yarn test`, or `bun run test`) to verify no tests are broken by the refactoring
27
+ 11. Commit all changes (refactored code + updated eslint.thresholds.json) with conventional commit messages
28
+ 12. Create a PR with `gh pr create` with a title like "refactor: reduce code complexity: [metrics being reduced]" summarizing the changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "1.76.1",
3
+ "version": "1.76.3",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "1.76.1",
3
+ "version": "1.76.3",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "1.76.1",
3
+ "version": "1.76.3",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "1.76.1",
3
+ "version": "1.76.3",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "1.76.1",
3
+ "version": "1.76.3",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -17,9 +17,12 @@ The caller provides pre-computed context:
17
17
  1. Read CLAUDE.md and package.json for project conventions
18
18
  2. Update eslint.thresholds.json with the proposed new threshold values (do NOT change the maxLines threshold)
19
19
  3. Run the project's lint script with the provided package manager (e.g., `npm run lint`, `yarn lint`, or `bun run lint`) to find functions that violate the new stricter thresholds
20
- 4. For cognitive complexity violations: use early returns, extract helper functions, replace conditionals with lookup tables
21
- 5. For max-lines-per-function violations: split large functions, extract helper functions, separate concerns
22
- 6. Re-run the lint script with the provided package manager to verify all violations are resolved
23
- 7. Run the project's test script with the provided package manager (e.g., `npm run test`, `yarn test`, or `bun run test`) to verify no tests are broken by the refactoring
24
- 8. Commit all changes (refactored code + updated eslint.thresholds.json) with conventional commit messages
25
- 9. Create a PR with `gh pr create` with a title like "refactor: reduce code complexity: [metrics being reduced]" summarizing the changes
20
+ 4. **Before editing**, check each violating file's total line count (`wc -l`). If a file is within 20 lines of its `max-lines` ESLint limit (typically 300), extract helpers into a **separate companion file** (e.g., `fooHelpers.ts`) instead of adding them to the same file. Extracting functions into the same file adds net lines and can create new max-lines violations.
21
+ 5. Fix violations one file at a time. Read only the specific function that violates do not pre-read all files upfront. Fix it, then move to the next.
22
+ 6. For cognitive complexity violations: use early returns, extract helper functions, replace conditionals with lookup tables
23
+ 7. For max-lines-per-function violations: split large functions, extract helper functions, separate concerns
24
+ 8. After each file edit, run the project's formatter (e.g., `bun run format` or `npx prettier --write <file>`) to ensure line counts reflect the final formatted state before moving on
25
+ 9. Re-run the lint script with the provided package manager to verify all violations are resolved (both the target metric AND max-lines)
26
+ 10. Run the project's test script with the provided package manager (e.g., `npm run test`, `yarn test`, or `bun run test`) to verify no tests are broken by the refactoring
27
+ 11. Commit all changes (refactored code + updated eslint.thresholds.json) with conventional commit messages
28
+ 12. Create a PR with `gh pr create` with a title like "refactor: reduce code complexity: [metrics being reduced]" summarizing the changes