@contractspec/app.cli-contractspec 0.0.0-canary-20260113170453

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Chaman Ventures, SASU
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,684 @@
1
+ # @contractspec/app.cli-contractspec
2
+
3
+ Website: https://contractspec.io/
4
+
5
+
6
+ **Stabilize your AI-generated code** — Define contracts once, generate consistent code across API, DB, UI, and events. Safe regeneration. No lock-in.
7
+
8
+ CLI tool for creating, building, and validating contract specifications.
9
+
10
+ ## Installation
11
+
12
+ ```bash
13
+ bun add -D @contractspec/app.cli-contractspec
14
+ ```
15
+
16
+ ## Quick Start
17
+
18
+ ```bash
19
+ # Create a new contract spec interactively
20
+ contractspec create
21
+
22
+ # Create with AI assistance
23
+ contractspec create --ai
24
+
25
+ # Build implementation from spec
26
+ contractspec build src/contracts/mySpec.ts
27
+
28
+ # Validate a spec
29
+ contractspec validate src/contracts/mySpec.ts
30
+ ```
31
+
32
+ ## Commands
33
+
34
+ ### `contractspec list`
35
+
36
+ List all contract specifications in the project with filtering options.
37
+
38
+ **Options:**
39
+ - `--pattern <pattern>` - File pattern to search (glob)
40
+ - `--deep` - Load spec modules to extract richer metadata (executes spec modules)
41
+ - `--type <type>` - Filter by spec type (operation, event, presentation, etc.)
42
+ - `--owner <owner>` - Filter by owner
43
+ - `--tag <tag>` - Filter by tag
44
+ - `--stability <level>` - Filter by stability (experimental, beta, stable, deprecated)
45
+ - `--json` - Output as JSON for scripting
46
+
47
+ **Examples:**
48
+
49
+ ```bash
50
+ # List all specs
51
+ contractspec list
52
+
53
+ # Filter by type and stability
54
+ contractspec list --type operation --stability stable
55
+
56
+ # Find specs by owner
57
+ contractspec list --owner @team-platform
58
+
59
+ # JSON output for scripting
60
+ contractspec list --json
61
+ ```
62
+
63
+ ### `contractspec watch`
64
+
65
+ Watch contract specifications and auto-regenerate on changes.
66
+
67
+ **Options:**
68
+ - `--pattern <pattern>` - File pattern to watch (default: `**/*.contracts.ts`)
69
+ - `--build` - Auto-run build command on changes
70
+ - `--validate` - Auto-run validate command on changes
71
+ - `--on-start <mode>` - Run action on startup: none|validate|build|both (default: none)
72
+ - `--continue-on-error` - Do not exit on build/validate errors
73
+ - `--debounce <ms>` - Debounce delay in milliseconds (default: 500)
74
+
75
+ **Examples:**
76
+
77
+ ```bash
78
+ # Watch for changes and auto-build
79
+ contractspec watch --build
80
+
81
+ # Watch and auto-validate
82
+ contractspec watch --validate
83
+
84
+ # Custom pattern and debounce
85
+ contractspec watch --pattern 'src/**/*.ts' --debounce 1000
86
+ ```
87
+
88
+ ### `contractspec sync`
89
+
90
+ Sync contracts by building all discovered specs.
91
+
92
+ **Options:**
93
+ - `--pattern <pattern>` - File pattern to search (glob)
94
+ - `--buckets <buckets>` - Optional output buckets (comma-separated). Builds repeat into `./generated/<bucket>/`
95
+ - `--surfaces <surfaces>` - (deprecated) Alias for `--buckets`
96
+ - `--validate` - Validate each spec before building (spec-only)
97
+ - `--dry-run` - Show what would be synced without making changes
98
+
99
+ **Examples:**
100
+
101
+ ```bash
102
+ # Sync all surfaces
103
+ contractspec sync
104
+
105
+ # Sync specific surfaces
106
+ contractspec sync --surfaces api,ui
107
+
108
+ # Preview changes
109
+ contractspec sync --dry-run
110
+ ```
111
+
112
+ ### `contractspec clean`
113
+
114
+ Clean generated files and build artifacts.
115
+
116
+ **Options:**
117
+ - `--dry-run` - Show what would be deleted without deleting
118
+ - `--generated-only` - Only clean generated directories (generated/, dist/, .turbo/, outputDir artifacts)
119
+ - `--older-than <days>` - Only clean files older than specified days
120
+ - `--force` - Skip confirmation prompts
121
+ - `--git-clean` - Use `git clean -fdx` for comprehensive cleanup (requires confirmation or `--force`)
122
+
123
+ **Examples:**
124
+
125
+ ```bash
126
+ # Clean all generated files
127
+ contractspec clean
128
+
129
+ # Preview cleanup
130
+ contractspec clean --dry-run
131
+
132
+ # Clean only old files
133
+ contractspec clean --older-than 30
134
+
135
+ # Use git clean
136
+ contractspec clean --git-clean
137
+ ```
138
+
139
+ ### `contractspec deps`
140
+
141
+ Analyze contract dependencies and relationships.
142
+
143
+ **Options:**
144
+ - `--pattern <pattern>` - File pattern to search (glob)
145
+ - `--entry <name>` - Focus on a specific contract name
146
+ - `--format <format>` - text|json|dot (default: text)
147
+ - `--graph` - (deprecated) Same as `--format dot`
148
+ - `--circular` - Find circular dependencies
149
+ - `--missing` - Find missing dependencies
150
+ - `--json` - (deprecated) Same as `--format json`
151
+
152
+ **Examples:**
153
+
154
+ ```bash
155
+ # Show dependency overview
156
+ contractspec deps
157
+
158
+ # Analyze specific contract
159
+ contractspec deps --entry user.signup
160
+
161
+ # Find circular dependencies
162
+ contractspec deps --circular
163
+
164
+ # Generate graphviz graph
165
+ contractspec deps --format dot > deps.dot
166
+ ```
167
+
168
+ ### `contractspec diff`
169
+
170
+ Compare contract specifications and show differences.
171
+
172
+ **Arguments:**
173
+ - `<spec1> <spec2>` - Two spec files to compare
174
+
175
+ **Options:**
176
+ - `--breaking` - Only show breaking changes
177
+ - `--semantic` - Show semantic differences (not just text)
178
+ - `--json` - Output as JSON for scripting
179
+ - `--baseline <ref>` - Compare with git reference (branch/commit)
180
+
181
+ **Examples:**
182
+
183
+ ```bash
184
+ # Compare two specs
185
+ contractspec diff spec1.ts spec2.ts
186
+
187
+ # Compare with git branch
188
+ contractspec diff spec.ts spec.ts --baseline main
189
+
190
+ # Show only breaking changes
191
+ contractspec diff spec1.ts spec2.ts --breaking
192
+
193
+ # Semantic comparison
194
+ contractspec diff spec1.ts spec2.ts --semantic
195
+ ```
196
+
197
+ ### `contractspec openapi`
198
+
199
+ Import/Export OpenAPI specifications.
200
+
201
+ #### `contractspec openapi import`
202
+
203
+ Import an OpenAPI specification and generate ContractSpec models or other schema formats.
204
+
205
+ **Options:**
206
+ - `--file <path>` - Path to OpenAPI file (json/yaml) or URL
207
+ - `--output <dir>` - Output directory
208
+ - `--schema-format <format>` - Output schema format: `contractspec` (default), `zod`, `json-schema`, `graphql`
209
+ - `--prefix <prefix>` - Prefix for generated models
210
+
211
+ **Examples:**
212
+
213
+ ```bash
214
+ # Import as ContractSpec (default)
215
+ contractspec openapi import --file api.json --output ./models
216
+
217
+ # Import as Zod schemas
218
+ contractspec openapi import --file api.json --output ./zod --schema-format zod
219
+
220
+ # Import as GraphQL types
221
+ contractspec openapi import --file api.json --output ./gql --schema-format graphql
222
+ ```
223
+
224
+ ### `contractspec vibe`
225
+
226
+ Guided workflows for "Vibe Coding" with safeguards and discipline.
227
+
228
+ **Subcommands:**
229
+ - `init` - Initialize Vibe directories and config
230
+ - `run <workflow>` - Run a managed workflow
231
+ - `pack install <path>` - Install a local workflow pack
232
+ - `context export` - Export safe context for AI agents
233
+
234
+ **Examples:**
235
+
236
+ ```bash
237
+ # Initialize
238
+ contractspec vibe init
239
+
240
+ # Run OpenAPI import workflow
241
+ contractspec vibe run brownfield.openapi-import
242
+
243
+ # Run with stricter tracking
244
+ contractspec vibe run change.feature --track regulated
245
+
246
+ # Export context for AI
247
+ contractspec vibe context export
248
+ ```
249
+
250
+ ### `contractspec create`
251
+
252
+ Interactive wizard to create contract specifications.
253
+
254
+ **Options:**
255
+ - `--type <type>` - Spec type: operation, event, presentation, form, feature
256
+ - `--ai` - Use AI to generate spec from description
257
+ - `--provider <provider>` - AI provider: claude, openai, ollama, custom
258
+ - `--model <model>` - AI model to use
259
+
260
+ **Examples:**
261
+
262
+ ```bash
263
+ # Interactive wizard
264
+ contractspec create
265
+
266
+ # Create operation spec with AI
267
+ contractspec create --type operation --ai
268
+
269
+ # Use local Ollama model
270
+ contractspec create --ai --provider ollama --model codellama
271
+ ```
272
+
273
+ ### `contractspec build`
274
+
275
+ Generate implementation code from contract specs using AI agents with automatic fallbacks.
276
+
277
+ **Options:**
278
+ - `--output-dir <dir>` - Output directory (default: ./generated)
279
+ - `--provider <provider>` - AI provider: claude, openai, ollama, custom
280
+ - `--model <model>` - AI model to use
281
+ - `--agent-mode <mode>` - Agent mode: simple, cursor, claude-code, openai-codex
282
+ - `--no-tests` - Skip test generation
283
+ - `--no-agent` - Disable AI (use basic templates)
284
+
285
+ > ℹ️ The build command automatically orchestrates between the selected agent and lightweight templates. If an agent becomes unavailable (missing API key, Cursor not running, etc.) the CLI falls back to deterministic templates so the build never blocks.
286
+
287
+ **Examples:**
288
+
289
+ ```bash
290
+ # Generate handler from operation spec (default: simple agent)
291
+ contractspec build src/contracts/signup.contracts.ts
292
+
293
+ # Use Claude Code agent for high-quality production code
294
+ contractspec build src/contracts/signup.contracts.ts --agent-mode claude-code
295
+
296
+ # Use OpenAI Codex for algorithmic implementations
297
+ contractspec build src/contracts/optimizer.contracts.ts --agent-mode openai-codex
298
+
299
+ # Generate without AI (basic templates only)
300
+ contractspec build src/contracts/simple.contracts.ts --no-agent
301
+ ```
302
+
303
+ ### `contractspec validate`
304
+
305
+ Validate contract specifications and optionally verify implementations against specs using AI.
306
+
307
+ **Options:**
308
+ - `--check-implementation` - Validate implementation against spec using AI
309
+ - `--implementation-path <path>` - Path to implementation (auto-detected if not specified)
310
+ - `--agent-mode <mode>` - Agent mode for validation: simple, claude-code, openai-codex
311
+ - `--check-handlers` - Verify handler implementations exist
312
+ - `--check-tests` - Verify test coverage
313
+ - `-i, --interactive` - Interactive mode - prompt for what to validate
314
+
315
+ > ℹ️ When no validation scope is provided, the CLI prompts you to choose between spec-only validation or full spec + implementation validation. In non-interactive environments it defaults to spec-only. Use `--check-implementation` to skip the prompt.
316
+
317
+ **Examples:**
318
+
319
+ ```bash
320
+ # Validate spec structure only
321
+ contractspec validate src/contracts/signup.contracts.ts
322
+
323
+ # Validate implementation against spec with AI
324
+ contractspec validate src/contracts/signup.contracts.ts --check-implementation
325
+
326
+ # Interactive validation with Claude Code agent
327
+ contractspec validate src/contracts/signup.contracts.ts -i --agent-mode claude-code
328
+
329
+ # Validate specific implementation file
330
+ contractspec validate src/contracts/signup.contracts.ts \
331
+ --check-implementation \
332
+ --implementation-path src/handlers/signup.handler.ts \
333
+ --agent-mode claude-code
334
+ ```
335
+
336
+ ### `contractspec ci`
337
+
338
+ Run all validation checks for CI/CD pipelines with machine-readable output formats.
339
+
340
+ **Options:**
341
+ - `--pattern <glob>` - Glob pattern for spec discovery
342
+ - `--format <format>` - Output format: text, json, sarif (default: text)
343
+ - `--output <file>` - Write results to file
344
+ - `--fail-on-warnings` - Exit with code 2 on warnings
345
+ - `--skip <checks>` - Skip specific checks (comma-separated)
346
+ - `--checks <checks>` - Only run specific checks (comma-separated)
347
+ - `--check-handlers` - Include handler implementation checks
348
+ - `--check-tests` - Include test coverage checks
349
+ - `--verbose` - Verbose output
350
+
351
+ **Available Checks:**
352
+ - `structure` - Spec structure validation (meta, io, policy)
353
+ - `integrity` - Contract integrity (orphaned specs, broken refs)
354
+ - `deps` - Dependency analysis (circular deps, missing refs)
355
+ - `doctor` - Installation health (skips AI in CI)
356
+ - `handlers` - Handler implementation existence
357
+ - `tests` - Test file existence
358
+
359
+ **Exit Codes:**
360
+ - `0` - All checks passed
361
+ - `1` - Errors found
362
+ - `2` - Warnings found (with `--fail-on-warnings`)
363
+
364
+ **Examples:**
365
+
366
+ ```bash
367
+ # Run all CI checks
368
+ contractspec ci
369
+
370
+ # Output as JSON for parsing
371
+ contractspec ci --format json
372
+
373
+ # Output SARIF for GitHub Code Scanning
374
+ contractspec ci --format sarif --output results.sarif
375
+
376
+ # Skip doctor checks
377
+ contractspec ci
378
+
379
+ # Run only structure and integrity checks
380
+ contractspec ci --checks structure,integrity
381
+
382
+ # Fail on warnings
383
+ contractspec ci --fail-on-warnings
384
+ ```
385
+
386
+ For comprehensive CI/CD integration guides (GitHub Actions, GitLab CI, Jenkins, AWS CodeBuild, etc.), see [docs/ci-cd.md](./docs/ci-cd.md).
387
+
388
+ ## Configuration
389
+
390
+ Create a `.contractsrc.json` file in your project root:
391
+
392
+ ```json
393
+ {
394
+ "aiProvider": "claude",
395
+ "aiModel": "claude-3-7-sonnet-20250219",
396
+ "agentMode": "claude-code",
397
+ "outputDir": "./src",
398
+ "conventions": {
399
+ "operations": "interactions/commands|queries",
400
+ "events": "events",
401
+ "presentations": "presentations",
402
+ "forms": "forms"
403
+ },
404
+ "defaultOwners": ["@team"],
405
+ "defaultTags": ["auto-generated"]
406
+ }
407
+ ```
408
+
409
+ ### Agent Modes
410
+
411
+ The CLI supports multiple AI agent modes for different use cases:
412
+
413
+ - **simple** (default) - Direct LLM API calls, fast and straightforward
414
+ - **cursor** - Leverages Windsurf/Cursor agentic capabilities (requires Cursor environment)
415
+ - **claude-code** - Uses Claude with extended thinking, best for production code and validation
416
+ - **openai-codex** - Uses GPT-4o/o1 models, excellent for algorithms and optimization
417
+
418
+ See [AGENT_MODES.md](./AGENT_MODES.md) for detailed comparison and usage guide.
419
+
420
+ ### AI Providers
421
+
422
+ #### Claude (Anthropic)
423
+
424
+ ```bash
425
+ export ANTHROPIC_API_KEY=your-key-here
426
+ contractspec create --ai --provider claude
427
+ ```
428
+
429
+ #### OpenAI
430
+
431
+ ```bash
432
+ export OPENAI_API_KEY=your-key-here
433
+ contractspec create --ai --provider openai --model gpt-4o
434
+ ```
435
+
436
+ #### Ollama (Local)
437
+
438
+ Install Ollama and pull a model:
439
+
440
+ ```bash
441
+ ollama pull codellama
442
+ contractspec create --ai --provider ollama --model codellama
443
+ ```
444
+
445
+ #### Custom OpenAI-Compatible Endpoint
446
+
447
+ ```bash
448
+ contractspec create --ai --provider custom \
449
+ --endpoint https://your-llm.com/v1 \
450
+ --model your-model-name
451
+ ```
452
+
453
+ Set via environment:
454
+
455
+ ```bash
456
+ export CONTRACTSPEC_LLM_ENDPOINT=https://your-llm.com/v1
457
+ export CONTRACTSPEC_LLM_API_KEY=your-key
458
+ export CONTRACTSPEC_LLM_MODEL=your-model
459
+ ```
460
+
461
+ ### Supported Local Models (Ollama)
462
+
463
+ - `codellama` - Code generation (recommended)
464
+ - `llama3.1` - General purpose
465
+ - `mistral` - Fast, good quality
466
+ - `deepseek-coder` - Specialized for code
467
+
468
+ ## Examples
469
+
470
+ ### Create a Command Spec
471
+
472
+ ```bash
473
+ contractspec create --type operation
474
+ # Follow prompts:
475
+ # - Name: user.signup
476
+ # - Kind: command
477
+ # - Description: Start user signup flow
478
+ # etc.
479
+ ```
480
+
481
+ ### Build Handler from Spec
482
+
483
+ Given a spec file `src/contracts/signup.contracts.ts`:
484
+
485
+ ```bash
486
+ contractspec build src/contracts/signup.contracts.ts
487
+ # Generates:
488
+ # - src/handlers/signup.handler.ts
489
+ # - src/handlers/signup.handler.test.ts
490
+ ```
491
+
492
+ ### Multi-Provider Workflow
493
+
494
+ ```bash
495
+ # Draft with free local model
496
+ contractspec create --ai --provider ollama
497
+
498
+ # Refine with Claude for production
499
+ contractspec build src/contracts/draft.ts --provider claude
500
+ ```
501
+
502
+ ## Advanced Usage
503
+
504
+ ### Multi-Provider and Multi-Agent Workflows
505
+
506
+ Combine different providers and agents for optimal results:
507
+
508
+ ```bash
509
+ # Draft specs with free local model
510
+ contractspec create --ai --provider ollama --model codellama
511
+
512
+ # Generate production code with Claude Code agent
513
+ contractspec build src/contracts/user-signup.contracts.ts \
514
+ --agent-mode claude-code
515
+
516
+ # Validate implementation with AI
517
+ contractspec validate src/contracts/user-signup.contracts.ts \
518
+ --check-implementation \
519
+ --agent-mode claude-code
520
+
521
+ # Use OpenAI for algorithmic code
522
+ contractspec build src/contracts/search-algorithm.contracts.ts \
523
+ --agent-mode openai-codex
524
+ ```
525
+
526
+ ### Environment Variables
527
+
528
+ ```bash
529
+ # API Keys
530
+ export ANTHROPIC_API_KEY=your-key-here
531
+ export OPENAI_API_KEY=your-key-here
532
+
533
+ # Agent configuration
534
+ export CONTRACTSPEC_AGENT_MODE=claude-code
535
+ export CONTRACTSPEC_AI_PROVIDER=claude
536
+ export CONTRACTSPEC_AI_MODEL=claude-3-7-sonnet-20250219
537
+
538
+ # Custom provider
539
+ export CONTRACTSPEC_LLM_ENDPOINT=https://your-llm.com/v1
540
+ export CONTRACTSPEC_LLM_API_KEY=your-api-key
541
+ ```
542
+
543
+ ### CI/CD Integration
544
+
545
+ ```yaml
546
+ # .github/workflows/contracts.yml
547
+ name: Validate Contracts
548
+
549
+ on: [push, pull_request]
550
+
551
+ jobs:
552
+ validate:
553
+ runs-on: ubuntu-latest
554
+ steps:
555
+ - uses: actions/checkout@v6
556
+ - uses: oven-sh/setup-bun@v2
557
+ - run: bun install
558
+ - run: contractspec validate 'src/contracts/**/*.ts'
559
+ ```
560
+
561
+ ### Project Structure
562
+
563
+ Recommended organization:
564
+
565
+ ```
566
+ src/
567
+ ├── contracts/ # Contract specs
568
+ │ ├── events/
569
+ │ │ └── user-created.event.ts
570
+ │ ├── interactions/
571
+ │ │ ├── commands/
572
+ │ │ │ └── user-signup.contracts.ts
573
+ │ │ └── queries/
574
+ │ │ └── user-get-profile.contracts.ts
575
+ │ └── presentations/
576
+ │ └── user-profile-card.presentation.ts
577
+ ├── handlers/ # Generated handlers
578
+ ├── components/ # Generated components
579
+ └── forms/ # Generated forms
580
+ ```
581
+
582
+ ## Troubleshooting
583
+
584
+ ### "Provider not available" error
585
+
586
+ **Claude:**
587
+ ```bash
588
+ export ANTHROPIC_API_KEY=sk-ant-...
589
+ ```
590
+
591
+ **OpenAI:**
592
+ ```bash
593
+ export OPENAI_API_KEY=sk-...
594
+ ```
595
+
596
+ **Ollama:**
597
+ ```bash
598
+ # Install Ollama from https://ollama.ai
599
+ ollama serve
600
+ ollama pull codellama
601
+ ```
602
+
603
+ ### Slow generation
604
+
605
+ For faster local generation, use smaller models:
606
+ ```bash
607
+ contractspec create --ai --provider ollama --model codellama:7b
608
+ ```
609
+
610
+ For cloud, use faster models:
611
+ ```bash
612
+ contractspec build spec.ts --provider openai --model gpt-3.5-turbo
613
+ ```
614
+
615
+ ### Import errors in generated code
616
+
617
+ Make sure `@contractspec/lib.contracts` and `@contractspec/lib.schema` are installed:
618
+ ```bash
619
+ bunadd @contractspec/lib.contracts @contractspec/lib.schema
620
+ ```
621
+
622
+ ## Contributing
623
+
624
+ Contributions welcome! Please:
625
+
626
+ 1. Follow existing code style
627
+ 2. Add tests for new features
628
+ 3. Update documentation
629
+ 4. Ensure all tests pass: `buntest`
630
+
631
+ ## Agent Modes Deep Dive
632
+
633
+ ### When to Use Each Mode
634
+
635
+ **Simple Mode** - Default, good for:
636
+ - Rapid prototyping
637
+ - Basic implementations
638
+ - Quick iterations
639
+ - CI/CD pipelines (fast)
640
+
641
+ **Cursor Mode** - Best for:
642
+ - Working in Windsurf/Cursor IDE
643
+ - Complex, iterative development
644
+ - Context-aware code generation
645
+
646
+ **Claude Code Mode** - Best for:
647
+ - Production-quality implementations
648
+ - Critical business logic
649
+ - Comprehensive code validation
650
+ - Detailed code reviews
651
+
652
+ **OpenAI Codex Mode** - Best for:
653
+ - Algorithmic problems
654
+ - Performance optimization
655
+ - Mathematical computations
656
+ - Complex data transformations
657
+
658
+ For more details, see [AGENT_MODES.md](./AGENT_MODES.md).
659
+
660
+ ## Roadmap
661
+
662
+ - [x] AI-powered code generation
663
+ - [x] Multiple agent modes (simple, cursor, claude-code, openai-codex)
664
+ - [x] AI-powered implementation validation
665
+ - [x] Contract listing and discovery (`contractspec list`)
666
+ - [x] Watch mode for auto-regeneration (`contractspec watch`)
667
+ - [x] Multi-surface synchronization (`contractspec sync`)
668
+ - [x] Cleanup utilities (`contractspec clean`)
669
+ - [x] Dependency analysis (`contractspec deps`)
670
+ - [x] Contract diffing and comparison (`contractspec diff`)
671
+ - [x] CI/CD integration (`contractspec ci`) with SARIF/JSON output
672
+ - [x] GitHub Action for CI/CD
673
+ - [ ] Form spec generation
674
+ - [ ] Feature spec bundling
675
+ - [ ] Handler signature checking in validation
676
+ - [ ] Test coverage validation
677
+ - [ ] Interactive spec editing
678
+ - [ ] GraphQL schema generation
679
+ - [ ] OpenAPI/Swagger export
680
+
681
+ ## License
682
+
683
+ MIT
684
+