@plaited/development-skills 0.5.0 → 0.6.1

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.
Files changed (32) hide show
  1. package/{.claude → .plaited}/rules/accuracy.md +3 -10
  2. package/{.claude → .plaited}/rules/code-review.md +3 -10
  3. package/.plaited/rules/documentation.md +41 -0
  4. package/.plaited/rules/git-workflow.md +31 -0
  5. package/{.claude → .plaited}/rules/github.md +4 -4
  6. package/{.claude → .plaited}/rules/module-organization.md +0 -7
  7. package/{.claude → .plaited}/rules/testing.md +0 -5
  8. package/package.json +2 -2
  9. package/src/lsp-analyze.ts +1 -1
  10. package/src/lsp-find.ts +1 -1
  11. package/src/lsp-hover.ts +1 -1
  12. package/src/lsp-references.ts +1 -1
  13. package/src/lsp-symbols.ts +1 -1
  14. package/src/scaffold-rules.ts +146 -205
  15. package/src/tests/scaffold-rules.spec.ts +239 -110
  16. package/.claude/commands/lsp-analyze.md +0 -66
  17. package/.claude/commands/lsp-find.md +0 -74
  18. package/.claude/commands/lsp-hover.md +0 -57
  19. package/.claude/commands/lsp-refs.md +0 -64
  20. package/.claude/commands/scaffold-rules.md +0 -221
  21. package/.claude/commands/validate-skill.md +0 -29
  22. package/.claude/rules/git-workflow.md +0 -66
  23. package/.claude/skills/code-documentation/SKILL.md +0 -47
  24. package/.claude/skills/code-documentation/references/internal-templates.md +0 -113
  25. package/.claude/skills/code-documentation/references/maintenance.md +0 -164
  26. package/.claude/skills/code-documentation/references/public-api-templates.md +0 -100
  27. package/.claude/skills/code-documentation/references/type-documentation.md +0 -116
  28. package/.claude/skills/code-documentation/references/workflow.md +0 -60
  29. package/.claude/skills/scaffold-rules/SKILL.md +0 -104
  30. package/.claude/skills/typescript-lsp/SKILL.md +0 -249
  31. package/.claude/skills/validate-skill/SKILL.md +0 -105
  32. /package/{.claude → .plaited}/rules/bun-apis.md +0 -0
@@ -1,6 +1,6 @@
1
1
  <!--
2
- RULE TEMPLATE - Distributed via /scaffold-rules
3
- Variables: {{LINK:testing}}, {{#if development-skills}}, {{#if supports-slash-commands}}
2
+ RULE TEMPLATE - Distributed via scaffold-rules skill
3
+ Variables: {{LINK:testing}}, {{#if development-skills}}
4
4
  -->
5
5
 
6
6
  # Accuracy and Confidence Standards
@@ -19,7 +19,7 @@ Variables: {{LINK:testing}}, {{#if development-skills}}, {{#if supports-slash-co
19
19
  {{#if development-skills}}
20
20
  - **For TypeScript/JavaScript projects**: When @plaited/development-skills is installed, prefer LSP tools for type-aware verification:
21
21
  - Use `lsp-find` to search for symbols, types, and patterns across the workspace
22
- - Use `lsp-references` to find all usages of a symbol
22
+ - Use `lsp-refs` to find all usages of a symbol
23
23
  - Use `lsp-hover` to verify type signatures
24
24
  - Use `lsp-analyze` for batch analysis of file structure
25
25
  {{/if}}
@@ -30,14 +30,7 @@ Variables: {{LINK:testing}}, {{#if development-skills}}, {{#if supports-slash-co
30
30
  4. **Tool-Assisted Verification**: Use available tools to enhance verification accuracy:
31
31
  {{#if development-skills}}
32
32
  - **TypeScript LSP tools** (when available): Use for type-aware analysis of `.ts`, `.tsx`, `.js`, `.jsx` files
33
- {{/if}}
34
- {{#if supports-slash-commands}}
35
- - Available via `/lsp-hover`, `/lsp-find`, `/lsp-refs`, `/lsp-analyze` commands
36
- {{/if}}
37
- {{^if supports-slash-commands}}
38
- {{#if development-skills}}
39
33
  - Available via `bunx @plaited/development-skills lsp-*` commands
40
- {{/if}}
41
34
  {{/if}}
42
35
  - **WebFetch**: Retrieve current documentation from authoritative sources (MDN Web Docs, WHATWG specs) when using web platform APIs
43
36
  - These tools complement (but do not replace) reading live code - always verify outputs against actual implementation
@@ -1,6 +1,6 @@
1
1
  <!--
2
- RULE TEMPLATE - Distributed via /scaffold-rules
3
- Variables: {{#if development-skills}}, {{#if supports-slash-commands}}
2
+ RULE TEMPLATE - Distributed via scaffold-rules skill
3
+ Variables: {{#if development-skills}}
4
4
  -->
5
5
 
6
6
  # Code Review Standards
@@ -13,20 +13,13 @@ Before completing a code review, run these validation scripts:
13
13
 
14
14
  ### AgentSkills Validation
15
15
 
16
- When working with AgentSkills directories (`.claude/skills/`, `.cursor/skills/`, `.factory/skills/`, etc.):
16
+ When working with AgentSkills directories (`.plaited/skills/`, `.claude/skills/`, `.cursor/skills/`, `.factory/skills/`, etc.):
17
17
 
18
18
  {{#if development-skills}}
19
19
  **Validate structure:**
20
- {{#if supports-slash-commands}}
21
- ```
22
- /validate-skill <path>
23
- ```
24
- {{/if}}
25
- {{^if supports-slash-commands}}
26
20
  ```bash
27
21
  bunx @plaited/development-skills validate-skill <path>
28
22
  ```
29
- {{/if}}
30
23
 
31
24
  This checks:
32
25
  - SKILL.md exists with required frontmatter (name, description)
@@ -0,0 +1,41 @@
1
+ # Documentation Standards
2
+
3
+ ## TSDoc Requirements
4
+
5
+ Public APIs require comprehensive TSDoc documentation following these conventions:
6
+
7
+ - **No `@example` sections** - Tests serve as living examples
8
+ - **Use `@internal` marker** - Mark non-public APIs explicitly
9
+ - **Always use `type`** - Prefer type aliases over interfaces
10
+
11
+ ### TSDoc Template
12
+
13
+ ```typescript
14
+ /**
15
+ * Brief description of what this does
16
+ *
17
+ * @remarks
18
+ * Additional context, usage notes, or implementation details.
19
+ *
20
+ * @param options - Description of the parameter
21
+ * @returns Description of return value
22
+ *
23
+ * @public
24
+ */
25
+ ```
26
+
27
+ ## Diagrams
28
+
29
+ Use Mermaid diagrams only (not ASCII art):
30
+
31
+ ```markdown
32
+ \```mermaid
33
+ flowchart TD
34
+ A[Start] --> B[Process]
35
+ B --> C[End]
36
+ \```
37
+ ```
38
+
39
+ **Avoid**: ASCII box-drawing characters (`┌`, `│`, `└`, `─`, etc.)
40
+
41
+ **Rationale:** Token efficiency, clearer semantic meaning, easier maintenance.
@@ -0,0 +1,31 @@
1
+ # Git Workflow
2
+
3
+ ## Commit Message Format
4
+
5
+ Use multi-line commit messages for detailed changes:
6
+
7
+ ```bash
8
+ git commit -m "refactor: description here
9
+
10
+ Additional context on second line."
11
+ ```
12
+
13
+ ## Pre-commit Hooks
14
+
15
+ **Never use `--no-verify`** to bypass pre-commit hooks. If hooks fail, it indicates a real issue that must be fixed:
16
+
17
+ 1. Investigate the error message
18
+ 2. Fix the underlying issue (lint errors, format issues, test failures)
19
+ 3. Re-run the commit
20
+
21
+ Using `--no-verify` masks problems and defeats the purpose of automated quality checks.
22
+
23
+ ## Commit Conventions
24
+
25
+ Follow conventional commits format:
26
+ - `feat:` - New features
27
+ - `fix:` - Bug fixes
28
+ - `refactor:` - Code changes that neither fix bugs nor add features
29
+ - `docs:` - Documentation only changes
30
+ - `chore:` - Maintenance tasks
31
+ - `test:` - Adding or updating tests
@@ -58,7 +58,7 @@ gh api repos/<owner>/<repo>/pulls/<number>/comments --jq '
58
58
  **Step 4: Address ALL feedback**
59
59
  Create a checklist and address each item:
60
60
  - [ ] Human reviewer comments
61
- - [ ] Claude Code review comments
61
+ - [ ] Agentic Code review comments
62
62
  - [ ] GitHub Advanced Security alerts (ReDoS, injection, etc.)
63
63
  - [ ] GitHub Code Quality comments (dead code, useless assignments)
64
64
  - [ ] Inline review suggestions
@@ -68,7 +68,7 @@ Create a checklist and address each item:
68
68
  | Source | API/Location | Description |
69
69
  |--------|--------------|-------------|
70
70
  | Human reviewers | `gh pr view --json reviews` | Code owners, team members |
71
- | Claude Code | `gh pr view --json comments` | AI-generated review (login: `claude`) |
71
+ | AI code review | `gh pr view --json comments` | AI-generated review |
72
72
  | GitHub Advanced Security | `gh api .../code-scanning/alerts` | Security vulnerabilities (ReDoS, injection) |
73
73
  | GitHub Code Quality | `gh api .../pulls/.../comments` | Code quality issues (login: `github-code-quality[bot]`) |
74
74
  | Inline suggestions | `gh api .../pulls/.../comments` | Line-specific review comments |
@@ -76,9 +76,9 @@ Create a checklist and address each item:
76
76
  ### Filtering by Author
77
77
 
78
78
  ```bash
79
- # Get all automated reviews from PR
79
+ # Get all automated reviews from PR (adjust regex for your AI reviewer logins)
80
80
  gh pr view <number> --repo <owner>/<repo> --json reviews --jq '
81
- .reviews[] | select(.author.login | test("github-|claude")) | {author: .author.login, state: .state}
81
+ .reviews[] | select(.author.login | test("github-|bot")) | {author: .author.login, state: .state}
82
82
  '
83
83
 
84
84
  # Get specific inline comment by ID
@@ -1,8 +1,3 @@
1
- <!--
2
- RULE TEMPLATE - Distributed via /scaffold-rules
3
- Variables: {{#if bun}}
4
- -->
5
-
6
1
  # Module Organization
7
2
 
8
3
  ## No Index Files
@@ -43,9 +38,7 @@ Only use `main.ts` if the package truly has multiple co-equal entry points that
43
38
 
44
39
  ## Explicit Import Extensions
45
40
 
46
- {{#if bun}}
47
41
  Always include `.ts` extensions in imports. Bun runs TypeScript natively—no compilation required:
48
- {{/if}}
49
42
 
50
43
  ```typescript
51
44
  // ✅ Good
@@ -1,8 +1,3 @@
1
- <!--
2
- RULE TEMPLATE - Distributed via /scaffold-rules
3
- Variables: {{#if agent:claude}}
4
- -->
5
-
6
1
  # Testing
7
2
 
8
3
  Use Bun's built-in test runner for unit and integration tests.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plaited/development-skills",
3
- "version": "0.5.0",
3
+ "version": "0.6.1",
4
4
  "description": "Development skills for Claude Code - TypeScript LSP, code documentation, and validation tools",
5
5
  "license": "ISC",
6
6
  "engines": {
@@ -21,7 +21,7 @@
21
21
  "files": [
22
22
  "bin/",
23
23
  "src/",
24
- ".claude/"
24
+ ".plaited/"
25
25
  ],
26
26
  "publishConfig": {
27
27
  "access": "public"
@@ -211,7 +211,7 @@ Examples:
211
211
 
212
212
  console.log(JSON.stringify(result, null, 2))
213
213
  } catch (error) {
214
- console.error(`Error: ${error}`)
214
+ console.error('Error:', error)
215
215
  await client.stop()
216
216
  process.exit(1)
217
217
  }
package/src/lsp-find.ts CHANGED
@@ -69,7 +69,7 @@ export const lspFind = async (args: string[]) => {
69
69
 
70
70
  console.log(JSON.stringify(result, null, 2))
71
71
  } catch (error) {
72
- console.error(`Error: ${error}`)
72
+ console.error('Error:', error)
73
73
  await client.stop()
74
74
  process.exit(1)
75
75
  }
package/src/lsp-hover.ts CHANGED
@@ -75,7 +75,7 @@ export const lspHover = async (args: string[]) => {
75
75
  console.log('null')
76
76
  }
77
77
  } catch (error) {
78
- console.error(`Error: ${error}`)
78
+ console.error('Error:', error)
79
79
  await client.stop()
80
80
  process.exit(1)
81
81
  }
@@ -71,7 +71,7 @@ export const lspRefs = async (args: string[]) => {
71
71
 
72
72
  console.log(JSON.stringify(result, null, 2))
73
73
  } catch (error) {
74
- console.error(`Error: ${error}`)
74
+ console.error('Error:', error)
75
75
  await client.stop()
76
76
  process.exit(1)
77
77
  }
@@ -61,7 +61,7 @@ export const lspSymbols = async (args: string[]) => {
61
61
 
62
62
  console.log(JSON.stringify(result, null, 2))
63
63
  } catch (error) {
64
- console.error(`Error: ${error}`)
64
+ console.error('Error:', error)
65
65
  await client.stop()
66
66
  process.exit(1)
67
67
  }