@plaited/development-skills 0.3.5

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 (40) hide show
  1. package/.claude/commands/lsp-analyze.md +66 -0
  2. package/.claude/commands/lsp-find.md +51 -0
  3. package/.claude/commands/lsp-hover.md +48 -0
  4. package/.claude/commands/lsp-refs.md +55 -0
  5. package/.claude/commands/scaffold-rules.md +221 -0
  6. package/.claude/commands/validate-skill.md +29 -0
  7. package/.claude/rules/accuracy.md +64 -0
  8. package/.claude/rules/bun-apis.md +80 -0
  9. package/.claude/rules/code-review.md +276 -0
  10. package/.claude/rules/git-workflow.md +66 -0
  11. package/.claude/rules/github.md +154 -0
  12. package/.claude/rules/testing.md +125 -0
  13. package/.claude/settings.local.json +47 -0
  14. package/.claude/skills/code-documentation/SKILL.md +47 -0
  15. package/.claude/skills/code-documentation/references/internal-templates.md +113 -0
  16. package/.claude/skills/code-documentation/references/maintenance.md +164 -0
  17. package/.claude/skills/code-documentation/references/public-api-templates.md +100 -0
  18. package/.claude/skills/code-documentation/references/type-documentation.md +116 -0
  19. package/.claude/skills/code-documentation/references/workflow.md +60 -0
  20. package/.claude/skills/scaffold-rules/SKILL.md +97 -0
  21. package/.claude/skills/typescript-lsp/SKILL.md +239 -0
  22. package/.claude/skills/validate-skill/SKILL.md +105 -0
  23. package/LICENSE +15 -0
  24. package/README.md +149 -0
  25. package/bin/cli.ts +109 -0
  26. package/package.json +57 -0
  27. package/src/lsp-analyze.ts +223 -0
  28. package/src/lsp-client.ts +400 -0
  29. package/src/lsp-find.ts +100 -0
  30. package/src/lsp-hover.ts +87 -0
  31. package/src/lsp-references.ts +83 -0
  32. package/src/lsp-symbols.ts +73 -0
  33. package/src/resolve-file-path.ts +28 -0
  34. package/src/scaffold-rules.ts +435 -0
  35. package/src/tests/fixtures/sample.ts +27 -0
  36. package/src/tests/lsp-client.spec.ts +180 -0
  37. package/src/tests/resolve-file-path.spec.ts +33 -0
  38. package/src/tests/scaffold-rules.spec.ts +286 -0
  39. package/src/tests/validate-skill.spec.ts +231 -0
  40. package/src/validate-skill.ts +492 -0
@@ -0,0 +1,239 @@
1
+ ---
2
+ name: typescript-lsp
3
+ description: REQUIRED for searching code in *.ts, *.tsx, *.js, *.jsx files. Use INSTEAD of Grep for TypeScript/JavaScript - provides type-aware symbol search that understands imports, exports, and relationships. Activate before reading, editing, or searching TypeScript code to verify signatures and find references.
4
+ license: ISC
5
+ compatibility: Requires bun
6
+ allowed-tools: Bash
7
+ metadata:
8
+ file-triggers: "*.ts,*.tsx,*.js,*.jsx"
9
+ replaces-tools: Grep
10
+ ---
11
+
12
+ # TypeScript LSP Skill
13
+
14
+ ## Purpose
15
+
16
+ This skill provides TypeScript Language Server Protocol integration for **exploring and understanding** TypeScript/JavaScript codebases.
17
+
18
+ **IMPORTANT**: Prefer LSP tools over Grep/Glob when working with `*.ts`, `*.tsx`, `*.js`, `*.jsx` files. LSP provides type-aware results that understand imports, exports, and symbol relationships.
19
+
20
+ Use these tools to:
21
+ - **Explore codebases** - Find symbols, understand module structure, discover implementations
22
+ - **Find references** - Type-aware search across the entire codebase (better than grep for symbols)
23
+ - **Understand types** - Get full type signatures, generics, and documentation
24
+ - **Verify before editing** - Check all usages before modifying or deleting exports
25
+ - **Navigate code** - Jump to definitions, find implementations
26
+
27
+ ## When to Use LSP vs Grep/Glob
28
+
29
+ | Task | Use LSP | Use Grep/Glob |
30
+ |------|---------|---------------|
31
+ | Find all usages of a function/type | ✅ `lsp-references` | ❌ Misses re-exports, aliases |
32
+ | Search for a symbol by name | ✅ `lsp-find` | ❌ Matches strings, comments |
33
+ | Understand file exports | ✅ `lsp-analyze --exports` | ❌ Doesn't resolve re-exports |
34
+ | Get type signature | ✅ `lsp-hover` | ❌ Not possible |
35
+ | Find files by pattern | ❌ | ✅ `Glob` |
36
+ | Search non-TS files (md, json) | ❌ | ✅ `Grep` |
37
+ | Search for text in comments/strings | ❌ | ✅ `Grep` |
38
+
39
+ ## When to Use
40
+
41
+ **Exploring code (prefer LSP):**
42
+ - Run `lsp-find` to search for symbols across the workspace
43
+ - Run `lsp-symbols` to get an overview of file structure
44
+ - Run `lsp-analyze --exports` to see what a module provides
45
+
46
+ **Before editing code:**
47
+ - Run `lsp-references` to find all usages of a symbol you plan to modify
48
+ - Run `lsp-hover` to verify current type signatures
49
+
50
+ **Before writing code:**
51
+ - Run `lsp-find` to search for similar patterns or related symbols
52
+ - Run `lsp-hover` on APIs you plan to use
53
+
54
+ ## Path Resolution
55
+
56
+ All scripts accept three types of file paths:
57
+ - **Absolute paths**: `/Users/name/project/src/file.ts`
58
+ - **Relative paths**: `./src/file.ts` or `../other/file.ts`
59
+ - **Package export paths**: `my-package/src/module.ts` (resolved via `Bun.resolve()`)
60
+
61
+ Package export paths are recommended for portability and consistency with the package's exports field.
62
+
63
+ ## Scripts
64
+
65
+ ### Individual Scripts
66
+
67
+ #### lsp-hover
68
+ Get type information at a specific position.
69
+
70
+ ```bash
71
+ bunx @plaited/development-skills lsp-hover <file> <line> <char>
72
+ ```
73
+
74
+ **Arguments:**
75
+ - `file`: Path to TypeScript/JavaScript file
76
+ - `line`: Line number (0-indexed)
77
+ - `char`: Character position (0-indexed)
78
+
79
+ **Example:**
80
+ ```bash
81
+ bunx @plaited/development-skills lsp-hover src/utils/parser.ts 42 10
82
+ ```
83
+
84
+ #### lsp-symbols
85
+ List all symbols in a file.
86
+
87
+ ```bash
88
+ bunx @plaited/development-skills lsp-symbols <file>
89
+ ```
90
+
91
+ **Example:**
92
+ ```bash
93
+ bunx @plaited/development-skills lsp-symbols src/utils/parser.ts
94
+ ```
95
+
96
+ #### lsp-references
97
+ Find all references to a symbol.
98
+
99
+ ```bash
100
+ bunx @plaited/development-skills lsp-refs <file> <line> <char>
101
+ ```
102
+
103
+ **Example:**
104
+ ```bash
105
+ bunx @plaited/development-skills lsp-refs src/utils/parser.ts 42 10
106
+ ```
107
+
108
+ #### lsp-find
109
+ Search for symbols across the workspace.
110
+
111
+ ```bash
112
+ bunx @plaited/development-skills lsp-find <query> [context-file]
113
+ ```
114
+
115
+ **Arguments:**
116
+ - `query`: Symbol name or partial name
117
+ - `context-file`: Optional file to open for project context
118
+
119
+ **Example:**
120
+ ```bash
121
+ bunx @plaited/development-skills lsp-find parseConfig
122
+ bunx @plaited/development-skills lsp-find validateInput src/lib/validator.ts
123
+ ```
124
+
125
+ ### Batch Script
126
+
127
+ #### lsp-analyze
128
+ Perform multiple analyses in a single session for efficiency.
129
+
130
+ ```bash
131
+ bunx @plaited/development-skills lsp-analyze <file> [options]
132
+ ```
133
+
134
+ **Options:**
135
+ - `--symbols, -s`: List all symbols
136
+ - `--exports, -e`: List only exported symbols
137
+ - `--hover <line:char>`: Get type info (repeatable)
138
+ - `--refs <line:char>`: Find references (repeatable)
139
+ - `--all`: Run symbols + exports analysis
140
+
141
+ **Examples:**
142
+ ```bash
143
+ # Get file overview
144
+ bunx @plaited/development-skills lsp-analyze src/utils/parser.ts --all
145
+
146
+ # Check multiple positions
147
+ bunx @plaited/development-skills lsp-analyze src/utils/parser.ts --hover 50:10 --hover 75:5
148
+
149
+ # Before refactoring: find all references
150
+ bunx @plaited/development-skills lsp-analyze src/utils/parser.ts --refs 42:10
151
+ ```
152
+
153
+ ## Common Workflows
154
+
155
+ ### Understanding a File
156
+
157
+ ```bash
158
+ # 1. Get exports overview
159
+ bunx @plaited/development-skills lsp-analyze path/to/file.ts --exports
160
+
161
+ # 2. For specific type info, hover on interesting symbols
162
+ bunx @plaited/development-skills lsp-hover path/to/file.ts <line> <char>
163
+ ```
164
+
165
+ ### Before Modifying an Export
166
+
167
+ ```bash
168
+ # 1. Find all references first
169
+ bunx @plaited/development-skills lsp-refs path/to/file.ts <line> <char>
170
+
171
+ # 2. Check what depends on it
172
+ # Review the output to understand impact
173
+ ```
174
+
175
+ ### Finding Patterns
176
+
177
+ ```bash
178
+ # Search for similar implementations
179
+ bunx @plaited/development-skills lsp-find handleRequest
180
+ bunx @plaited/development-skills lsp-find parseConfig
181
+ ```
182
+
183
+ ### Pre-Implementation Verification
184
+
185
+ ```bash
186
+ # Before writing code that uses an API, verify its signature
187
+ bunx @plaited/development-skills lsp-hover path/to/api.ts <line> <char>
188
+ ```
189
+
190
+ ## Output Format
191
+
192
+ All scripts output JSON to stdout. Errors go to stderr.
193
+
194
+ **Hover output:**
195
+ ```json
196
+ {
197
+ "contents": {
198
+ "kind": "markdown",
199
+ "value": "```typescript\nconst parseConfig: (options: Options) => Config\n```"
200
+ },
201
+ "range": { "start": {...}, "end": {...} }
202
+ }
203
+ ```
204
+
205
+ **Symbols output:**
206
+ ```json
207
+ [
208
+ {
209
+ "name": "symbolName",
210
+ "kind": 13,
211
+ "range": { "start": {...}, "end": {...} }
212
+ }
213
+ ]
214
+ ```
215
+
216
+ **Analyze output:**
217
+ ```json
218
+ {
219
+ "file": "path/to/file.ts",
220
+ "exports": [
221
+ { "name": "exportName", "kind": "Constant", "line": 139 }
222
+ ]
223
+ }
224
+ ```
225
+
226
+ ## Performance
227
+
228
+ Each script invocation:
229
+ 1. Starts TypeScript Language Server (~300-500ms)
230
+ 2. Initializes LSP connection
231
+ 3. Opens document
232
+ 4. Performs query
233
+ 5. Closes and stops
234
+
235
+ For multiple queries on the same file, use `lsp-analyze` to batch operations in a single session.
236
+
237
+ ## Related Skills
238
+
239
+ - **code-documentation**: TSDoc standards for documentation
@@ -0,0 +1,105 @@
1
+ ---
2
+ name: validate-skill
3
+ description: Validate skill directories against AgentSkills spec
4
+ license: ISC
5
+ compatibility: Requires bun
6
+ allowed-tools: Bash
7
+ ---
8
+
9
+ # Validate Skill
10
+
11
+ ## Purpose
12
+
13
+ This skill validates skill directories against the [AgentSkills specification](https://agentskills.io/specification). Use it to ensure your skills have proper frontmatter, required fields, and follow naming conventions.
14
+
15
+ **Use when:**
16
+ - Creating new skills in `.claude/skills/`
17
+ - Reviewing PRs that modify skills
18
+ - Validating skill structure before publishing
19
+
20
+ ## Scripts
21
+
22
+ ### validate-skill.ts
23
+
24
+ Validate one or more skill directories.
25
+
26
+ ```bash
27
+ bunx @plaited/development-skills validate-skill [paths...]
28
+ ```
29
+
30
+ **Arguments:**
31
+ - `paths`: Optional paths to validate (default: `.claude/skills/`)
32
+
33
+ **Options:**
34
+ - `--json`: Output results as JSON
35
+
36
+ **Examples:**
37
+
38
+ ```bash
39
+ # Validate all skills in .claude/skills/
40
+ bunx @plaited/development-skills validate-skill
41
+
42
+ # Validate a specific skill
43
+ bunx @plaited/development-skills validate-skill .claude/skills/typescript-lsp
44
+
45
+ # Validate multiple paths with JSON output
46
+ bunx @plaited/development-skills validate-skill .claude/skills/typescript-lsp .claude/skills/code-documentation --json
47
+ ```
48
+
49
+ ## Validation Rules
50
+
51
+ ### Required Fields
52
+
53
+ - `name`: Skill name (lowercase, alphanumeric with hyphens)
54
+ - `description`: Brief description of the skill
55
+
56
+ ### Naming Conventions
57
+
58
+ - Name must be lowercase
59
+ - Only alphanumeric characters and hyphens allowed
60
+ - Cannot start or end with hyphen
61
+ - Cannot contain consecutive hyphens
62
+ - Maximum 64 characters
63
+ - Directory name must match skill name
64
+
65
+ ### Optional Fields
66
+
67
+ - `license`: License identifier
68
+ - `compatibility`: Runtime requirements
69
+ - `allowed-tools`: Comma-separated list of allowed tools
70
+ - `metadata`: Key-value pairs for additional metadata
71
+
72
+ ## Output Format
73
+
74
+ ### Human-Readable (default)
75
+
76
+ ```
77
+ ✓ .claude/skills/typescript-lsp
78
+ ✓ .claude/skills/code-documentation
79
+ ✗ .claude/skills/invalid-skill
80
+ ERROR: Missing required field in frontmatter: 'description'
81
+
82
+ 2/3 skills valid
83
+ ```
84
+
85
+ ### JSON (--json)
86
+
87
+ ```json
88
+ [
89
+ {
90
+ "valid": true,
91
+ "path": ".claude/skills/typescript-lsp",
92
+ "errors": [],
93
+ "warnings": [],
94
+ "properties": {
95
+ "name": "typescript-lsp",
96
+ "description": "..."
97
+ }
98
+ }
99
+ ]
100
+ ```
101
+
102
+ ## Related Skills
103
+
104
+ - **typescript-lsp** - Example of a well-structured skill with scripts
105
+ - **code-documentation** - TSDoc standards for TypeScript/JavaScript code
package/LICENSE ADDED
@@ -0,0 +1,15 @@
1
+ ISC License
2
+
3
+ Copyright (c) 2025 Plaited
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ PERFORMANCE OF THIS SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,149 @@
1
+ # development-skills
2
+
3
+ TypeScript LSP, code documentation, and validation tools. Available as both a CLI tool and as installable skills for AI coding agents.
4
+
5
+ ## CLI Tool
6
+
7
+ Use these tools directly via the CLI without installation:
8
+
9
+ ```bash
10
+ # Run without installing
11
+ bunx @plaited/development-skills lsp-hover src/index.ts 10 5
12
+
13
+ # Or install globally
14
+ bun add -g @plaited/development-skills
15
+ development-skills lsp-find parseConfig
16
+ ```
17
+
18
+ ### Commands
19
+
20
+ | Command | Description |
21
+ |---------|-------------|
22
+ | `lsp-hover <file> <line> <char>` | Get type information at position |
23
+ | `lsp-find <query> [file]` | Search for symbols across workspace |
24
+ | `lsp-refs <file> <line> <char>` | Find all references to symbol |
25
+ | `lsp-analyze <file> [options]` | Batch analysis of file |
26
+ | `validate-skill <path>` | Validate AgentSkills spec |
27
+
28
+ ### Examples
29
+
30
+ ```bash
31
+ # Type information
32
+ bunx @plaited/development-skills lsp-hover src/app.ts 25 10
33
+
34
+ # Symbol search
35
+ bunx @plaited/development-skills lsp-find UserConfig
36
+
37
+ # Find references
38
+ bunx @plaited/development-skills lsp-refs src/types.ts 15 8
39
+
40
+ # Module analysis
41
+ bunx @plaited/development-skills lsp-analyze src/index.ts --all
42
+
43
+ # Validate skills
44
+ bunx @plaited/development-skills validate-skill .claude/skills
45
+ ```
46
+
47
+ ## Skills for AI Agents
48
+
49
+ **Install skills** for use with AI coding agents:
50
+
51
+ ```bash
52
+ curl -fsSL https://raw.githubusercontent.com/plaited/skills-installer/main/install.sh | bash -s -- --agent <agent-name> --project development-skills
53
+ ```
54
+
55
+ Replace `<agent-name>` with your agent: `claude`, `cursor`, `copilot`, `opencode`, `amp`, `goose`, `factory`
56
+
57
+ **Update skills:**
58
+
59
+ ```bash
60
+ curl -fsSL https://raw.githubusercontent.com/plaited/skills-installer/main/install.sh | bash -s -- update --agent <agent-name> --project development-skills
61
+ ```
62
+
63
+ ### Available Skills
64
+
65
+ ### TypeScript LSP
66
+
67
+ TypeScript Language Server Protocol integration for exploring and understanding TypeScript/JavaScript codebases.
68
+
69
+ **Use LSP over Grep/Glob when:**
70
+ - Finding all usages of a function/type (LSP understands re-exports, aliases)
71
+ - Searching for symbols by name (LSP ignores strings, comments)
72
+ - Understanding file exports (LSP resolves re-exports)
73
+ - Getting type signatures (not possible with grep)
74
+
75
+ #### Commands
76
+
77
+ ##### `/lsp-hover`
78
+
79
+ Get type information at a specific position.
80
+
81
+ ```bash
82
+ /lsp-hover src/utils/parser.ts 42 10
83
+ ```
84
+
85
+ ##### `/lsp-find`
86
+
87
+ Search for symbols across the workspace.
88
+
89
+ ```bash
90
+ /lsp-find parseConfig
91
+ /lsp-find validateInput src/lib/validator.ts
92
+ ```
93
+
94
+ ##### `/lsp-refs`
95
+
96
+ Find all references to a symbol (before refactoring).
97
+
98
+ ```bash
99
+ /lsp-refs src/utils/parser.ts 42 10
100
+ ```
101
+
102
+ ##### `/lsp-analyze`
103
+
104
+ Batch analysis of a file.
105
+
106
+ ```bash
107
+ /lsp-analyze src/utils/parser.ts --exports
108
+ /lsp-analyze src/utils/parser.ts --all
109
+ /lsp-analyze src/utils/parser.ts --hover 50:10 --refs 60:5
110
+ ```
111
+
112
+ #### Path Resolution
113
+
114
+ All commands accept:
115
+ - **Absolute paths**: `/Users/name/project/src/file.ts`
116
+ - **Relative paths**: `./src/file.ts`
117
+ - **Package export paths**: `my-package/src/module.ts` (resolved via `Bun.resolve()`)
118
+
119
+ ### Skill Validation
120
+
121
+ Validate skill directories against the AgentSkills specification.
122
+
123
+ #### Commands
124
+
125
+ ##### `/validate-skill`
126
+
127
+ Validate skill directories.
128
+
129
+ ```bash
130
+ /validate-skill .claude/skills
131
+ /validate-skill .claude/skills/typescript-lsp
132
+ ```
133
+
134
+ ## Development
135
+
136
+ ```bash
137
+ # Install dependencies
138
+ bun install
139
+
140
+ # Run checks
141
+ bun run check
142
+
143
+ # Run tests
144
+ bun test
145
+ ```
146
+
147
+ ## License
148
+
149
+ ISC
package/bin/cli.ts ADDED
@@ -0,0 +1,109 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Development Skills CLI
4
+ *
5
+ * Provides TypeScript LSP tools, skill validation, and code documentation utilities.
6
+ *
7
+ * Usage:
8
+ * development-skills <command> [args...] [options]
9
+ *
10
+ * Commands:
11
+ * lsp-hover <file> <line> <char> Get type information at position
12
+ * lsp-find <query> [file] Search for symbols
13
+ * lsp-refs <file> <line> <char> Find all references
14
+ * lsp-symbols <file> List all symbols in file
15
+ * lsp-analyze <file> Batch analysis
16
+ * validate-skill <path> Validate AgentSkills spec
17
+ * scaffold-rules [options] Generate development rules
18
+ *
19
+ * Examples:
20
+ * bunx @plaited/development-skills lsp-hover src/index.ts 10 5
21
+ * bunx @plaited/development-skills lsp-find parseConfig
22
+ * bunx @plaited/development-skills validate-skill .claude/skills/my-skill
23
+ * bunx @plaited/development-skills scaffold-rules --agent=claude --format=json
24
+ */
25
+
26
+ import { lspAnalyze } from '../src/lsp-analyze.ts'
27
+ import { lspFind } from '../src/lsp-find.ts'
28
+ import { lspHover } from '../src/lsp-hover.ts'
29
+ import { lspRefs } from '../src/lsp-references.ts'
30
+ import { lspSymbols } from '../src/lsp-symbols.ts'
31
+ import { scaffoldRules } from '../src/scaffold-rules.ts'
32
+ import { validateSkill } from '../src/validate-skill.ts'
33
+
34
+ // Get raw args (everything after script name)
35
+ const rawArgs = Bun.argv.slice(2)
36
+
37
+ // Extract command (first non-option arg)
38
+ const command = rawArgs.find((arg) => !arg.startsWith('-')) || ''
39
+
40
+ // Get args after command (everything except the command itself)
41
+ const commandIndex = rawArgs.indexOf(command)
42
+ const args = commandIndex >= 0 ? rawArgs.slice(commandIndex + 1) : []
43
+
44
+ if (!command || command === '--help' || command === '-h') {
45
+ console.log(`
46
+ Development Skills CLI
47
+
48
+ Usage:
49
+ development-skills <command> [args...] [options]
50
+
51
+ Commands:
52
+ lsp-hover <file> <line> <char> Get type information at position
53
+ lsp-find <query> [file] Search for symbols
54
+ lsp-refs <file> <line> <char> Find all references
55
+ lsp-symbols <file> List all symbols in file
56
+ lsp-analyze <file> Batch analysis
57
+ validate-skill <path> Validate AgentSkills spec
58
+ scaffold-rules [options] Generate development rules
59
+
60
+ Examples:
61
+ bunx @plaited/development-skills lsp-hover src/index.ts 10 5
62
+ bunx @plaited/development-skills lsp-find parseConfig
63
+ bunx @plaited/development-skills lsp-refs src/types.ts 15 8
64
+ bunx @plaited/development-skills lsp-symbols src/app.ts
65
+ bunx @plaited/development-skills lsp-analyze src/app.ts
66
+ bunx @plaited/development-skills validate-skill .claude/skills/my-skill
67
+ bunx @plaited/development-skills scaffold-rules --agent=claude --format=json
68
+
69
+ Options:
70
+ -h, --help Show this help
71
+ `)
72
+ process.exit(0)
73
+ }
74
+
75
+ // Route to appropriate command
76
+ try {
77
+ switch (command) {
78
+ case 'lsp-hover':
79
+ await lspHover(args)
80
+ break
81
+ case 'lsp-find':
82
+ await lspFind(args)
83
+ break
84
+ case 'lsp-refs':
85
+ case 'lsp-references':
86
+ await lspRefs(args)
87
+ break
88
+ case 'lsp-symbols':
89
+ await lspSymbols(args)
90
+ break
91
+ case 'lsp-analyze':
92
+ await lspAnalyze(args)
93
+ break
94
+ case 'validate-skill':
95
+ await validateSkill(args)
96
+ break
97
+ case 'scaffold-rules':
98
+ await scaffoldRules(args)
99
+ break
100
+ default:
101
+ console.error(`Unknown command: ${command}`)
102
+ console.error('Run `development-skills --help` for usage')
103
+ process.exit(1)
104
+ }
105
+ } catch (error) {
106
+ const message = error instanceof Error ? error.message : String(error)
107
+ console.error(`Error: ${message}`)
108
+ process.exit(1)
109
+ }
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@plaited/development-skills",
3
+ "version": "0.3.5",
4
+ "description": "Development skills for Claude Code - TypeScript LSP, code documentation, and validation tools",
5
+ "license": "ISC",
6
+ "engines": {
7
+ "bun": ">= v1.2.9"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/plaited/development-skills.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/plaited/development-skills/issues"
15
+ },
16
+ "homepage": "https://github.com/plaited/development-skills/tree/main#readme",
17
+ "bin": {
18
+ "development-skills": "./bin/cli.ts"
19
+ },
20
+ "type": "module",
21
+ "files": [
22
+ "bin/",
23
+ "src/",
24
+ ".claude/"
25
+ ],
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "scripts": {
30
+ "check": "bun run check:biome && bun run check:types && bun run check:package",
31
+ "check:biome": "biome check",
32
+ "check:package": "format-package --check",
33
+ "check:types": "tsc --noEmit",
34
+ "check:write": "biome check --write && format-package --write",
35
+ "prepare": "git config core.hooksPath .hooks || true",
36
+ "test": "bun test"
37
+ },
38
+ "lint-staged": {
39
+ "*.{js,cjs,jsx,tsx,ts}": [
40
+ "bunx biome check --write"
41
+ ],
42
+ "package.json": [
43
+ "format-package"
44
+ ]
45
+ },
46
+ "peerDependencies": {
47
+ "typescript-language-server": "^5.1.3"
48
+ },
49
+ "devDependencies": {
50
+ "@biomejs/biome": "2.3.11",
51
+ "@types/bun": "1.3.6",
52
+ "format-package": "7.0.0",
53
+ "lint-staged": "16.2.7",
54
+ "typescript": "5.9.3",
55
+ "typescript-language-server": "5.1.3"
56
+ }
57
+ }