claudekit-cli 1.0.0 → 1.0.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.
- package/CHANGELOG.md +7 -0
- package/README.md +41 -1
- package/biome.json +3 -0
- package/package.json +1 -1
- package/.claude/agents/brainstormer.md +0 -96
- package/.claude/agents/code-reviewer.md +0 -141
- package/.claude/agents/copywriter.md +0 -108
- package/.claude/agents/database-admin.md +0 -86
- package/.claude/agents/debugger.md +0 -124
- package/.claude/agents/docs-manager.md +0 -115
- package/.claude/agents/git-manager.md +0 -60
- package/.claude/agents/journal-writer.md +0 -111
- package/.claude/agents/planner.md +0 -87
- package/.claude/agents/project-manager.md +0 -113
- package/.claude/agents/researcher.md +0 -173
- package/.claude/agents/scout.md +0 -123
- package/.claude/agents/tester.md +0 -95
- package/.claude/agents/ui-ux-designer.md +0 -206
- package/.claude/commands/bootstrap.md +0 -104
- package/.claude/commands/brainstorm.md +0 -67
- package/.claude/commands/content/enhance.md +0 -13
- package/.claude/commands/content/fast.md +0 -11
- package/.claude/commands/content/good.md +0 -13
- package/.claude/commands/cook.md +0 -19
- package/.claude/commands/debug.md +0 -10
- package/.claude/commands/design/3d.md +0 -65
- package/.claude/commands/design/describe.md +0 -13
- package/.claude/commands/design/fast.md +0 -19
- package/.claude/commands/design/good.md +0 -23
- package/.claude/commands/design/screenshot.md +0 -23
- package/.claude/commands/design/video.md +0 -23
- package/.claude/commands/docs/init.md +0 -13
- package/.claude/commands/docs/summarize.md +0 -10
- package/.claude/commands/docs/update.md +0 -21
- package/.claude/commands/fix/ci.md +0 -11
- package/.claude/commands/fix/fast.md +0 -12
- package/.claude/commands/fix/hard.md +0 -18
- package/.claude/commands/fix/logs.md +0 -16
- package/.claude/commands/fix/test.md +0 -18
- package/.claude/commands/fix/types.md +0 -10
- package/.claude/commands/git/cm.md +0 -5
- package/.claude/commands/git/cp.md +0 -4
- package/.claude/commands/integrate/polar.md +0 -42
- package/.claude/commands/plan/ci.md +0 -12
- package/.claude/commands/plan/two.md +0 -13
- package/.claude/commands/plan.md +0 -10
- package/.claude/commands/scout.md +0 -29
- package/.claude/commands/test.md +0 -7
- package/.claude/commands/watzup.md +0 -8
- package/.claude/hooks/telegram_notify.sh +0 -136
- package/.claude/send-discord.sh +0 -64
- package/.claude/settings.json +0 -7
- package/.claude/statusline.sh +0 -143
- package/.claude/workflows/development-rules.md +0 -80
- package/.claude/workflows/documentation-management.md +0 -28
- package/.claude/workflows/orchestration-protocol.md +0 -16
- package/.claude/workflows/primary-workflow.md +0 -41
- package/.opencode/command/docs/init.md +0 -11
- package/.opencode/command/docs/summarize.md +0 -10
- package/.opencode/command/docs/update.md +0 -18
- package/docs/code-standards.md +0 -1128
- package/docs/codebase-summary.md +0 -821
- package/docs/github-setup.md +0 -176
- package/docs/project-pdr.md +0 -739
- package/docs/system-architecture.md +0 -950
- package/docs/tech-stack.md +0 -290
package/docs/tech-stack.md
DELETED
|
@@ -1,290 +0,0 @@
|
|
|
1
|
-
# Tech Stack - ClaudeKit CLI
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
This document outlines the recommended technology stack for the ClaudeKit CLI package based on comprehensive research of modern CLI development tools and best practices.
|
|
6
|
-
|
|
7
|
-
## Core Technologies
|
|
8
|
-
|
|
9
|
-
### Runtime
|
|
10
|
-
- **Bun** (v1.x+)
|
|
11
|
-
- Fast package installation (80x faster than npm)
|
|
12
|
-
- Built-in TypeScript support
|
|
13
|
-
- Native bundler and test runner
|
|
14
|
-
- Excellent Node.js API compatibility
|
|
15
|
-
- Standalone executable compilation via `bun --compile`
|
|
16
|
-
|
|
17
|
-
### Language
|
|
18
|
-
- **TypeScript** (v5.x+)
|
|
19
|
-
- Type safety and better IDE support
|
|
20
|
-
- Native support in Bun (no compilation needed)
|
|
21
|
-
- Modern ES2022+ features
|
|
22
|
-
|
|
23
|
-
## CLI Framework & UX
|
|
24
|
-
|
|
25
|
-
### Command Parsing
|
|
26
|
-
- **CAC** (v6.x+)
|
|
27
|
-
- Lightweight (zero dependencies)
|
|
28
|
-
- TypeScript-native with excellent type inference
|
|
29
|
-
- Clean API with command chaining
|
|
30
|
-
- Built-in help generation
|
|
31
|
-
- Perfect for modern CLI apps
|
|
32
|
-
|
|
33
|
-
**Why CAC over alternatives:**
|
|
34
|
-
- Commander.js: More mature but heavier footprint
|
|
35
|
-
- Yargs: Feature-rich but complex for our use case
|
|
36
|
-
- CAC: Best balance of simplicity and features
|
|
37
|
-
|
|
38
|
-
### Interactive Prompts
|
|
39
|
-
- **@clack/prompts** (v0.7+)
|
|
40
|
-
- Beautiful, modern UI
|
|
41
|
-
- TypeScript-native
|
|
42
|
-
- Excellent developer experience
|
|
43
|
-
- Wide variety of prompt types (text, select, confirm, multiselect)
|
|
44
|
-
- Built-in loading states and spinners
|
|
45
|
-
|
|
46
|
-
**Why @clack/prompts:**
|
|
47
|
-
- Modern design that matches 2025 standards
|
|
48
|
-
- Better UX than traditional prompts
|
|
49
|
-
- TypeScript-first approach
|
|
50
|
-
- Active maintenance and community
|
|
51
|
-
|
|
52
|
-
### Progress Indicators
|
|
53
|
-
- **ora** (v9.x+)
|
|
54
|
-
- Elegant terminal spinners
|
|
55
|
-
- Promise support
|
|
56
|
-
- Color customization
|
|
57
|
-
- 32M weekly downloads
|
|
58
|
-
- Perfect for async operations
|
|
59
|
-
|
|
60
|
-
- **cli-progress** (v3.x+)
|
|
61
|
-
- Full-featured progress bars
|
|
62
|
-
- Multi-bar support
|
|
63
|
-
- ETAs and speed indicators
|
|
64
|
-
- Ideal for file downloads
|
|
65
|
-
|
|
66
|
-
### Colors & Formatting
|
|
67
|
-
- **picocolors** (v1.x+)
|
|
68
|
-
- Fastest color library
|
|
69
|
-
- Zero dependencies
|
|
70
|
-
- Tiny footprint (900 bytes)
|
|
71
|
-
- Drop-in replacement for chalk
|
|
72
|
-
|
|
73
|
-
## GitHub Integration
|
|
74
|
-
|
|
75
|
-
### GitHub API Client
|
|
76
|
-
- **@octokit/rest** (v22+)
|
|
77
|
-
- Official GitHub SDK
|
|
78
|
-
- Complete TypeScript types
|
|
79
|
-
- Automatic rate limit handling
|
|
80
|
-
- Retry logic built-in
|
|
81
|
-
- Supports both REST and GraphQL APIs
|
|
82
|
-
|
|
83
|
-
### Authentication Strategy
|
|
84
|
-
Multi-tier fallback approach:
|
|
85
|
-
1. **GitHub CLI** (`gh auth token`) - if available
|
|
86
|
-
2. **Environment Variables** (GITHUB_TOKEN, GH_TOKEN)
|
|
87
|
-
3. **Stored Credentials** via OS keychain
|
|
88
|
-
4. **User Prompt** with optional secure storage
|
|
89
|
-
|
|
90
|
-
### Credential Storage
|
|
91
|
-
- **keytar** (v7.x+)
|
|
92
|
-
- Secure OS-level credential storage
|
|
93
|
-
- Cross-platform (macOS Keychain, Windows Credential Vault, Linux Secret Service)
|
|
94
|
-
- No plain-text token storage
|
|
95
|
-
|
|
96
|
-
## File Operations
|
|
97
|
-
|
|
98
|
-
### HTTP Downloads
|
|
99
|
-
- **Bun Native fetch()**
|
|
100
|
-
- Zero external dependencies
|
|
101
|
-
- Excellent performance
|
|
102
|
-
- Built-in streaming support
|
|
103
|
-
- Manual progress tracking via ReadableStream
|
|
104
|
-
|
|
105
|
-
### Archive Extraction
|
|
106
|
-
- **tar** (node-tar v7+)
|
|
107
|
-
- For `.tar.gz` files
|
|
108
|
-
- Streaming support
|
|
109
|
-
- 50M weekly downloads
|
|
110
|
-
- Excellent reliability
|
|
111
|
-
|
|
112
|
-
- **unzipper** (v0.12+)
|
|
113
|
-
- For `.zip` files
|
|
114
|
-
- Memory efficient
|
|
115
|
-
- Stream-based processing
|
|
116
|
-
- 5M weekly downloads
|
|
117
|
-
|
|
118
|
-
### File System Operations
|
|
119
|
-
- **fs-extra** (v11+)
|
|
120
|
-
- Enhanced fs methods with promises
|
|
121
|
-
- Copy, move, remove with ease
|
|
122
|
-
- Recursive operations
|
|
123
|
-
- 70M weekly downloads
|
|
124
|
-
- Battle-tested
|
|
125
|
-
|
|
126
|
-
### File Filtering
|
|
127
|
-
- **ignore** (v5+)
|
|
128
|
-
- gitignore-style pattern matching
|
|
129
|
-
- Skip config files during updates
|
|
130
|
-
- Prevent overwriting sensitive files
|
|
131
|
-
- 45M weekly downloads
|
|
132
|
-
|
|
133
|
-
### Temporary Files
|
|
134
|
-
- **tmp** (v0.2+)
|
|
135
|
-
- Automatic temp directory cleanup
|
|
136
|
-
- Safe temp file creation
|
|
137
|
-
- 20M weekly downloads
|
|
138
|
-
|
|
139
|
-
## Data Validation
|
|
140
|
-
|
|
141
|
-
### Runtime Type Validation
|
|
142
|
-
- **Zod** (v3.x+)
|
|
143
|
-
- TypeScript-first schema validation
|
|
144
|
-
- Runtime type checking and parsing
|
|
145
|
-
- Automatic type inference
|
|
146
|
-
- Excellent error messages
|
|
147
|
-
- Perfect for validating:
|
|
148
|
-
- CLI arguments and options
|
|
149
|
-
- Config file structure
|
|
150
|
-
- GitHub API responses
|
|
151
|
-
- User input from prompts
|
|
152
|
-
- Environment variables
|
|
153
|
-
|
|
154
|
-
**Use Cases:**
|
|
155
|
-
- Validate command options before execution
|
|
156
|
-
- Parse and validate configuration files
|
|
157
|
-
- Ensure GitHub API response structure
|
|
158
|
-
- Type-safe environment variable parsing
|
|
159
|
-
- Input sanitization and validation
|
|
160
|
-
|
|
161
|
-
## Development Tools
|
|
162
|
-
|
|
163
|
-
### Testing
|
|
164
|
-
- **Bun Test** (built-in)
|
|
165
|
-
- Native test runner
|
|
166
|
-
- Jest-compatible API
|
|
167
|
-
- Fast execution
|
|
168
|
-
- TypeScript support out of the box
|
|
169
|
-
|
|
170
|
-
### Code Quality
|
|
171
|
-
- **Biome** (v1.x+) or **ESLint** (v9+)
|
|
172
|
-
- Fast linting and formatting
|
|
173
|
-
- TypeScript support
|
|
174
|
-
- Modern rule sets
|
|
175
|
-
|
|
176
|
-
### Build & Distribution
|
|
177
|
-
- **bun build --compile**
|
|
178
|
-
- Create standalone executables
|
|
179
|
-
- Cross-platform compilation
|
|
180
|
-
- Zero runtime dependencies for end users
|
|
181
|
-
- Single binary distribution
|
|
182
|
-
|
|
183
|
-
## Project Structure
|
|
184
|
-
|
|
185
|
-
```
|
|
186
|
-
claudekit-cli/
|
|
187
|
-
├── src/
|
|
188
|
-
│ ├── commands/ # Command implementations
|
|
189
|
-
│ │ ├── new.ts # 'ck new' command
|
|
190
|
-
│ │ └── update.ts # 'ck update' command
|
|
191
|
-
│ ├── lib/ # Core libraries
|
|
192
|
-
│ │ ├── auth.ts # GitHub authentication
|
|
193
|
-
│ │ ├── download.ts # Download & extraction
|
|
194
|
-
│ │ ├── github.ts # GitHub API client
|
|
195
|
-
│ │ └── prompts.ts # Interactive prompts
|
|
196
|
-
│ ├── utils/ # Utilities
|
|
197
|
-
│ │ ├── config.ts # Config management
|
|
198
|
-
│ │ ├── logger.ts # Logging
|
|
199
|
-
│ │ └── errors.ts # Error handling
|
|
200
|
-
│ └── index.ts # CLI entry point
|
|
201
|
-
├── tests/ # Test files
|
|
202
|
-
├── docs/ # Documentation
|
|
203
|
-
└── bin/ # Compiled binaries
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
## Configuration
|
|
207
|
-
|
|
208
|
-
### Package Configuration
|
|
209
|
-
- **package.json**
|
|
210
|
-
- CLI bin entry: `ck`
|
|
211
|
-
- Type: `module` (ESM)
|
|
212
|
-
- Engines: `bun >= 1.0.0`
|
|
213
|
-
|
|
214
|
-
### Environment Variables
|
|
215
|
-
```bash
|
|
216
|
-
GITHUB_TOKEN=ghp_xxx # GitHub PAT
|
|
217
|
-
GH_TOKEN=ghp_xxx # Alternative token env
|
|
218
|
-
CLAUDEKIT_CONFIG=~/.claudekit/config.json
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
### Config File Format
|
|
222
|
-
```json
|
|
223
|
-
{
|
|
224
|
-
"github": {
|
|
225
|
-
"token": "encrypted_or_keychain_ref"
|
|
226
|
-
},
|
|
227
|
-
"defaults": {
|
|
228
|
-
"kit": "engineer",
|
|
229
|
-
"dir": "."
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
## Security Considerations
|
|
235
|
-
|
|
236
|
-
1. **Token Storage**: Use OS keychain (keytar), never plain text
|
|
237
|
-
2. **Token Scopes**: Request minimal permissions (repo read for private repos)
|
|
238
|
-
3. **Token Rotation**: Encourage 30-90 day expiration
|
|
239
|
-
4. **Path Traversal**: Validate all file paths during extraction
|
|
240
|
-
5. **HTTPS Only**: All GitHub API calls over HTTPS
|
|
241
|
-
6. **Log Sanitization**: Never log tokens or sensitive data
|
|
242
|
-
|
|
243
|
-
## Installation & Distribution
|
|
244
|
-
|
|
245
|
-
### NPM Registry (Primary)
|
|
246
|
-
```bash
|
|
247
|
-
bun add -g claudekit-cli
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
### Standalone Binary (Alternative)
|
|
251
|
-
```bash
|
|
252
|
-
# Download compiled binary
|
|
253
|
-
curl -fsSL https://claudekit.cc/install.sh | bash
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### From Source
|
|
257
|
-
```bash
|
|
258
|
-
git clone https://github.com/mrgoonie/claudekit-cli
|
|
259
|
-
cd claudekit-cli
|
|
260
|
-
bun install
|
|
261
|
-
bun link
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
## Performance Targets
|
|
265
|
-
|
|
266
|
-
- **Installation**: < 2 seconds (with Bun)
|
|
267
|
-
- **Command Response**: < 100ms for non-download commands
|
|
268
|
-
- **Download Speed**: Limited by network, show real-time progress
|
|
269
|
-
- **Extraction**: < 5 seconds for typical project (< 50MB)
|
|
270
|
-
- **Bundle Size**: < 5MB for standalone binary
|
|
271
|
-
|
|
272
|
-
## Future Considerations
|
|
273
|
-
|
|
274
|
-
- **Auto-updates**: Self-update mechanism
|
|
275
|
-
- **Plugin System**: Extensibility for custom kits
|
|
276
|
-
- **Templates**: Local template caching
|
|
277
|
-
- **Analytics**: Optional usage telemetry (opt-in)
|
|
278
|
-
- **Shell Completions**: Bash/Zsh/Fish completion scripts
|
|
279
|
-
|
|
280
|
-
## Summary
|
|
281
|
-
|
|
282
|
-
This tech stack prioritizes:
|
|
283
|
-
- ✅ **Performance**: Bun runtime, native APIs, minimal dependencies
|
|
284
|
-
- ✅ **Security**: Proper token management, OS keychain storage
|
|
285
|
-
- ✅ **Type Safety**: TypeScript + Zod for compile-time and runtime validation
|
|
286
|
-
- ✅ **UX**: Beautiful prompts, progress indicators, helpful errors
|
|
287
|
-
- ✅ **Maintainability**: TypeScript, modular structure, comprehensive tests
|
|
288
|
-
- ✅ **Distribution**: Multiple installation methods, standalone binaries
|
|
289
|
-
|
|
290
|
-
All chosen libraries are actively maintained, well-tested, and follow 2025 best practices.
|