specpilot 1.1.1 → 1.1.2
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/README.md +127 -25
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
A CLI tool for initializing specification-driven development projects with flexible, production-ready structures.
|
|
4
4
|
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Quick Start](#quick-start)
|
|
8
|
+
- [Description](#description)
|
|
9
|
+
- [Why SpecPilot?](#why-specpilot)
|
|
10
|
+
- [The Problem with Traditional Development](#the-problem-with-traditional-development)
|
|
11
|
+
- [The SpecPilot Solution](#the-specpilot-solution)
|
|
12
|
+
- [🏗️ Analogy: Building a House](#️-analogy-building-a-house)
|
|
13
|
+
- [💡 Example: Building a Task Management App](#-example-building-a-task-management-app)
|
|
14
|
+
- [🌟 Why SDD is the Future](#-why-sdd-is-the-future)
|
|
15
|
+
- [Prerequisites](#prerequisites)
|
|
16
|
+
- [Installation](#installation)
|
|
17
|
+
- [Usage Examples](#usage-examples)
|
|
18
|
+
- [Basic Project Initialization](#basic-project-initialization)
|
|
19
|
+
- [Additional Commands](#additional-commands)
|
|
20
|
+
- [Configuration](#configuration)
|
|
21
|
+
- [Global Configuration](#global-configuration)
|
|
22
|
+
- [Project Configuration](#project-configuration)
|
|
23
|
+
- [Templates](#templates)
|
|
24
|
+
- [Available Templates](#available-templates)
|
|
25
|
+
- [Custom Templates](#custom-templates)
|
|
26
|
+
- [Features](#features)
|
|
27
|
+
- [Project Structure](#project-structure)
|
|
28
|
+
- [Troubleshooting](#troubleshooting)
|
|
29
|
+
- [Common Issues](#common-issues)
|
|
30
|
+
- [Debug Mode](#debug-mode)
|
|
31
|
+
- [Getting Help](#getting-help)
|
|
32
|
+
- [Getting Started](#getting-started)
|
|
33
|
+
- [Best Practices](#best-practices)
|
|
34
|
+
- [How to Contribute](#how-to-contribute)
|
|
35
|
+
- [Version History](#version-history)
|
|
36
|
+
- [MIT License](#mit-license)
|
|
37
|
+
- [Extended Configuration](#extended-configuration)
|
|
38
|
+
- [CI/CD Integration](#cicd-integration)
|
|
39
|
+
- [Team Collaboration](#team-collaboration)
|
|
40
|
+
- [Enterprise Integration](#enterprise-integration)
|
|
41
|
+
- [API Usage](#api-usage)
|
|
42
|
+
- [Contributing](#contributing)
|
|
43
|
+
- [Development Setup](#development-setup)
|
|
44
|
+
- [License](#license)
|
|
45
|
+
|
|
5
46
|
## Quick Start
|
|
6
47
|
|
|
7
48
|
```bash
|
|
@@ -70,12 +111,29 @@ cd task-manager
|
|
|
70
111
|
|
|
71
112
|
**SpecPilot gives you a professional project foundation in seconds, so you can focus on building great features instead of figuring out folder structures.**
|
|
72
113
|
|
|
114
|
+
## Prerequisites
|
|
115
|
+
|
|
116
|
+
- **Node.js**: 16.0.0 or higher (18+ recommended)
|
|
117
|
+
- **npm**: 8.0.0 or higher (or yarn 1.22+)
|
|
118
|
+
- **Git**: For version control (recommended)
|
|
119
|
+
- **Operating System**: Windows, macOS, or Linux
|
|
120
|
+
|
|
73
121
|
## Installation
|
|
74
122
|
|
|
75
123
|
```bash
|
|
76
124
|
npm install -g specpilot
|
|
77
125
|
```
|
|
78
126
|
|
|
127
|
+
### Verify Installation
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
specpilot --version
|
|
131
|
+
# Should output: 1.1.1 (or current version)
|
|
132
|
+
|
|
133
|
+
specpilot --help
|
|
134
|
+
# Shows available commands
|
|
135
|
+
```
|
|
136
|
+
|
|
79
137
|
## Usage Examples
|
|
80
138
|
|
|
81
139
|
### Basic Project Initialization
|
|
@@ -168,17 +226,23 @@ ai-context:
|
|
|
168
226
|
|
|
169
227
|
#### TypeScript
|
|
170
228
|
|
|
171
|
-
-
|
|
172
|
-
-
|
|
229
|
+
- **Generic**: Basic TypeScript project structure
|
|
230
|
+
- **React**: React application with modern tooling
|
|
231
|
+
- **Express**: REST API server setup
|
|
173
232
|
|
|
174
233
|
#### Python
|
|
175
234
|
|
|
176
|
-
-
|
|
177
|
-
-
|
|
235
|
+
- **Generic**: Basic Python project structure
|
|
236
|
+
- **FastAPI**: Modern API development
|
|
237
|
+
- **Django**: Web application framework
|
|
238
|
+
|
|
239
|
+
> **Note**: Run `specpilot list` to see all currently available templates and their status.
|
|
178
240
|
|
|
179
241
|
### Custom Templates
|
|
180
242
|
|
|
181
|
-
|
|
243
|
+
> **Coming Soon**: Custom template support is planned for future releases. Currently, SpecPilot uses built-in templates optimized for specification-driven development.
|
|
244
|
+
|
|
245
|
+
**Planned custom template structure:**
|
|
182
246
|
|
|
183
247
|
```text
|
|
184
248
|
~/.specpilot-templates/
|
|
@@ -239,10 +303,10 @@ specpilot list
|
|
|
239
303
|
|
|
240
304
|
```bash
|
|
241
305
|
# Run with detailed error output
|
|
242
|
-
specpilot
|
|
306
|
+
specpilot validate --verbose
|
|
243
307
|
|
|
244
308
|
# Auto-fix common issues
|
|
245
|
-
specpilot
|
|
309
|
+
specpilot validate --fix
|
|
246
310
|
```
|
|
247
311
|
|
|
248
312
|
#### Migration Issues
|
|
@@ -259,13 +323,13 @@ specpilot migrate --from complex --to simple --backup
|
|
|
259
323
|
|
|
260
324
|
```bash
|
|
261
325
|
# Enable debug logging
|
|
262
|
-
DEBUG=specpilot specpilot my-project
|
|
326
|
+
DEBUG=specpilot specpilot init my-project
|
|
263
327
|
|
|
264
328
|
# Verbose output
|
|
265
|
-
specpilot
|
|
329
|
+
specpilot validate --verbose
|
|
266
330
|
|
|
267
|
-
#
|
|
268
|
-
specpilot
|
|
331
|
+
# Check what templates are available
|
|
332
|
+
specpilot list --verbose
|
|
269
333
|
```
|
|
270
334
|
|
|
271
335
|
### Getting Help
|
|
@@ -297,9 +361,11 @@ specpilot specify --help
|
|
|
297
361
|
|
|
298
362
|
- **Start with specifications**: Define what you're building before coding
|
|
299
363
|
- **Keep prompts updated**: Log all AI interactions for future reference
|
|
300
|
-
- **Validate regularly**: Use `specpilot
|
|
301
|
-
- **
|
|
364
|
+
- **Validate regularly**: Use `specpilot validate` during development
|
|
365
|
+
- **Follow the subfolder structure**: Organize specs in `project/`, `architecture/`, `planning/`, `quality/`, `development/`
|
|
366
|
+
- **Use stable IDs**: Reference requirements and tasks by their IDs (e.g., `REQ-001`, `TASK-002`)
|
|
302
367
|
- **Version control everything**: Include `.specs/` in your git repository
|
|
368
|
+
- **Update metadata**: Keep `lastUpdated` and `version` fields current in spec files
|
|
303
369
|
|
|
304
370
|
## How to Contribute
|
|
305
371
|
|
|
@@ -332,21 +398,24 @@ jobs:
|
|
|
332
398
|
steps:
|
|
333
399
|
- uses: actions/checkout@v3
|
|
334
400
|
- uses: actions/setup-node@v3
|
|
401
|
+
with:
|
|
402
|
+
node-version: '18'
|
|
335
403
|
- run: npm install -g specpilot
|
|
336
|
-
- run: specpilot
|
|
404
|
+
- run: specpilot validate --verbose
|
|
337
405
|
```
|
|
338
406
|
|
|
339
407
|
### Team Collaboration
|
|
340
408
|
|
|
341
409
|
```bash
|
|
342
|
-
# Initialize for team
|
|
343
|
-
specpilot team-project --lang typescript --
|
|
410
|
+
# Initialize project for team collaboration
|
|
411
|
+
specpilot init team-project --lang typescript --framework react
|
|
344
412
|
|
|
345
|
-
#
|
|
346
|
-
|
|
413
|
+
# Share specs folder structure with team
|
|
414
|
+
git add .specs/
|
|
415
|
+
git commit -m "feat: add specification-driven development structure"
|
|
347
416
|
|
|
348
|
-
#
|
|
349
|
-
specpilot
|
|
417
|
+
# Team members can validate specs consistently
|
|
418
|
+
specpilot validate --verbose
|
|
350
419
|
```
|
|
351
420
|
|
|
352
421
|
### Enterprise Integration
|
|
@@ -355,28 +424,61 @@ Your organization can wrap SpecPilot with internal tooling and templates. For no
|
|
|
355
424
|
|
|
356
425
|
### API Usage
|
|
357
426
|
|
|
358
|
-
Programmatic API is
|
|
427
|
+
> **Coming Soon**: Programmatic API support is planned for future releases. Currently, SpecPilot is designed as a CLI-first tool.
|
|
428
|
+
|
|
429
|
+
**Planned programmatic usage:**
|
|
430
|
+
```javascript
|
|
431
|
+
// Future API (not yet available)
|
|
432
|
+
const { initProject, validateSpecs } = require("specpilot");
|
|
433
|
+
|
|
434
|
+
await initProject({
|
|
435
|
+
name: "my-project",
|
|
436
|
+
language: "typescript",
|
|
437
|
+
framework: "react"
|
|
438
|
+
});
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
For now, use the CLI commands or shell integration:
|
|
442
|
+
```bash
|
|
443
|
+
# Use in shell scripts
|
|
444
|
+
specpilot init my-project --lang typescript --no-prompts
|
|
445
|
+
specpilot validate --fix
|
|
446
|
+
```
|
|
359
447
|
|
|
360
448
|
## Contributing
|
|
361
449
|
|
|
362
|
-
This project follows specification-driven development.
|
|
450
|
+
This project follows specification-driven development principles. Please review our [`.specs/`](.specs/) folder for detailed contribution guidelines, architecture decisions, and development context.
|
|
451
|
+
|
|
452
|
+
### Quick Contribution Guide
|
|
453
|
+
|
|
454
|
+
1. **Read the specs**: Review [`.specs/project/requirements.md`](.specs/project/requirements.md) and [`.specs/architecture/architecture.md`](.specs/architecture/architecture.md)
|
|
455
|
+
2. **Check current tasks**: See [`.specs/planning/tasks.md`](.specs/planning/tasks.md) for open issues
|
|
456
|
+
3. **Follow conventions**: Use the metadata format documented in [`.specs/development/docs.md`](.specs/development/docs.md)
|
|
457
|
+
4. **Update specs**: Modify relevant spec files when making changes
|
|
458
|
+
5. **Validate**: Run `specpilot validate` before committing
|
|
363
459
|
|
|
364
460
|
### Development Setup
|
|
365
461
|
|
|
366
462
|
```bash
|
|
367
463
|
# Clone and setup
|
|
368
|
-
git clone https://github.com/
|
|
369
|
-
cd
|
|
464
|
+
git clone https://github.com/girishr/SpecPilot.git
|
|
465
|
+
cd SpecPilot
|
|
370
466
|
npm install
|
|
371
467
|
|
|
372
468
|
# Run in development mode
|
|
373
|
-
npm run dev
|
|
469
|
+
npm run dev -- init test-project --lang typescript
|
|
374
470
|
|
|
375
471
|
# Run tests
|
|
376
472
|
npm test
|
|
377
473
|
|
|
474
|
+
# Run tests with coverage
|
|
475
|
+
npm run test:coverage
|
|
476
|
+
|
|
378
477
|
# Build for production
|
|
379
478
|
npm run build
|
|
479
|
+
|
|
480
|
+
# Test CLI locally
|
|
481
|
+
node cli.js init my-test --lang python
|
|
380
482
|
```
|
|
381
483
|
|
|
382
484
|
## License
|
package/package.json
CHANGED