feat(marketplace): command consolidation + 8 new plugins (v8.1.0 → v9.0.0) [BREAKING]

Phase 1b: Rename all ~94 commands across 12 plugins to /<noun> <action>
sub-command pattern. Git-flow consolidated from 8→5 commands (commit
variants absorbed into --push/--merge/--sync flags). Dispatch files,
name: frontmatter, and cross-reference updates for all plugins.

Phase 2: Design documents for 8 new plugins in docs/designs/.

Phase 3: Scaffold 8 new plugins — saas-api-platform, saas-db-migrate,
saas-react-platform, saas-test-pilot, data-seed, ops-release-manager,
ops-deploy-pipeline, debug-mcp. Each with plugin.json, commands, agents,
skills, README, and claude-md-integration. Marketplace grows from 12→20.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-06 14:52:11 -05:00
parent 5098422858
commit 2d51df7a42
321 changed files with 13582 additions and 1019 deletions

View File

@@ -0,0 +1,70 @@
---
name: seed apply
---
# /seed apply - Apply Seed Data
## Skills to Load
- skills/profile-management.md
- skills/visual-header.md
## Visual Output
Display header: `DATA-SEED - Apply`
## Usage
```
/seed apply [--profile <name>] [--target <database|file>] [--clean] [--dry-run]
```
## Workflow
### 1. Locate Seed Data
- Look for generated seed files in configured output directory
- If no seed data found, prompt user to run `/seed generate` first
- Display available seed datasets with timestamps and profiles
### 2. Determine Target
- `--target database`: Apply directly to connected database via SQL execution
- `--target file` (default): Write fixture files for framework consumption
- Auto-detect framework for file output:
- Django: `fixtures/` directory as JSON fixtures compatible with `loaddata`
- SQLAlchemy: Python factory files or SQL insert scripts
- Prisma: `prisma/seed.ts` compatible format
- Generic: SQL insert statements or CSV files
### 3. Pre-Apply Validation
- If targeting database: verify connection, check table existence
- If `--clean` specified: generate TRUNCATE/DELETE statements for affected tables (respecting FK order)
- Display execution plan showing table order, row counts, and clean operations
- If `--dry-run`: display plan and exit without applying
### 4. Apply Data
- Execute in dependency order (parents before children)
- If targeting database: wrap in transaction, rollback on error
- If targeting files: write all files atomically
- Track progress: display per-table status during application
### 5. Post-Apply Summary
- Report rows inserted per table
- Report any errors or skipped rows
- Display total execution time
- If database target: verify row counts match expectations
## Examples
```
/seed apply # Write fixture files (default)
/seed apply --target database # Insert directly into database
/seed apply --profile small --clean # Clean + apply small dataset
/seed apply --dry-run # Preview without applying
/seed apply --target database --clean # Truncate then seed database
```
## Safety
- Database operations always use transactions
- `--clean` requires explicit confirmation before executing TRUNCATE
- Never drops tables or modifies schema — seed data only
- `--dry-run` is always safe and produces no side effects

View File

@@ -0,0 +1,71 @@
---
name: seed generate
---
# /seed generate - Generate Seed Data
## Skills to Load
- skills/schema-inference.md
- skills/faker-patterns.md
- skills/relationship-resolution.md
- skills/visual-header.md
## Visual Output
Display header: `DATA-SEED - Generate`
## Usage
```
/seed generate [table_name] [--profile <name>] [--rows <count>] [--format <sql|json|csv>] [--locale <locale>]
```
## Workflow
### 1. Parse Schema
- Load schema from configured source (see `/seed setup`)
- Extract tables, columns, types, constraints, and relationships
- Use `skills/schema-inference.md` to normalize types across ORM dialects
### 2. Resolve Generation Order
- Build dependency graph from foreign key relationships
- Use `skills/relationship-resolution.md` to determine insertion order
- Handle circular dependencies via deferred constraint resolution
- If specific `table_name` provided, generate only that table plus its dependencies
### 3. Select Profile
- Load profile from `seed-profiles.json` (default: `medium`)
- Override row count if `--rows` specified
- Apply profile-specific edge case ratios and custom value overrides
### 4. Generate Data
- For each table in dependency order:
- Map column types to faker providers using `skills/faker-patterns.md`
- Respect NOT NULL constraints (never generate null for required fields)
- Respect UNIQUE constraints (track generated values, retry on collision)
- Generate foreign key values from previously generated parent rows
- Apply locale-specific patterns for names, addresses, phone numbers
- Handle enum/check constraints by selecting from valid values only
- Include edge cases per profile settings (empty strings, boundary values, unicode)
### 5. Output Results
- Write generated data in requested format to configured output directory
- Display summary: tables generated, row counts, file paths
- Report any constraint violations or generation warnings
## Examples
```
/seed generate # All tables, medium profile
/seed generate users # Only users table + dependencies
/seed generate --profile large # All tables, 1000 rows each
/seed generate orders --rows 50 # 50 order rows
/seed generate --format json # Output as JSON fixtures
/seed generate --locale pt_BR # Brazilian Portuguese data
```
## Edge Cases
- Self-referential foreign keys (e.g., `manager_id` on `employees`): generate root rows first, then assign managers from existing rows
- Many-to-many through tables: generate both sides first, then populate junction table
- Nullable foreign keys: generate null values at the profile's configured null ratio

View File

@@ -0,0 +1,86 @@
---
name: seed profile
---
# /seed profile - Manage Data Profiles
## Skills to Load
- skills/profile-management.md
- skills/visual-header.md
## Visual Output
Display header: `DATA-SEED - Profile Management`
## Usage
```
/seed profile list
/seed profile show <name>
/seed profile create <name>
/seed profile edit <name>
/seed profile delete <name>
```
## Workflow
### list — Show All Profiles
- Read `seed-profiles.json` from configured output directory
- Display table: name, row counts per table, edge case ratio, description
- Highlight the default profile
### show — Profile Details
- Display full profile definition including:
- Per-table row counts
- Edge case configuration (null ratio, boundary values, unicode strings)
- Custom value overrides per column
- Locale settings
- Relationship density settings
### create — New Profile
- Ask user for profile name and description
- Ask for base row count (applies to all tables unless overridden)
- Ask for per-table overrides (optional)
- Ask for edge case ratio (0.0 = no edge cases, 1.0 = all edge cases)
- Ask for custom column overrides (e.g., `users.role` always "admin")
- Save to `seed-profiles.json`
### edit — Modify Profile
- Load existing profile, display current values
- Allow user to modify any field interactively
- Save updated profile
### delete — Remove Profile
- Confirm deletion with user
- Cannot delete the last remaining profile
- Remove from `seed-profiles.json`
## Profile Schema
```json
{
"name": "medium",
"description": "Realistic dataset for development and manual testing",
"default_rows": 100,
"table_overrides": {
"users": 50,
"orders": 200,
"order_items": 500
},
"edge_case_ratio": 0.1,
"null_ratio": 0.05,
"locale": "en_US",
"custom_values": {
"users.status": ["active", "active", "active", "inactive"],
"users.role": ["user", "user", "user", "admin"]
}
}
```
## Built-in Profiles
| Profile | Rows | Edge Cases | Use Case |
|---------|------|------------|----------|
| `small` | 10 | 0% | Unit tests, quick validation |
| `medium` | 100 | 10% | Development, manual testing |
| `large` | 1000 | 5% | Performance testing, stress testing |

View File

@@ -0,0 +1,59 @@
---
name: seed setup
---
# /seed setup - Data Seed Setup Wizard
## Skills to Load
- skills/schema-inference.md
- skills/visual-header.md
## Visual Output
Display header: `DATA-SEED - Setup Wizard`
## Usage
```
/seed setup
```
## Workflow
### Phase 1: Environment Detection
- Detect project type: Python (SQLAlchemy, Django ORM), Node.js (Prisma, TypeORM), or raw SQL
- Check for existing schema files: `schema.prisma`, `models.py`, `*.sql` DDL files
- Identify package manager and installed ORM libraries
### Phase 2: Schema Source Configuration
- Ask user to confirm detected schema source or specify manually
- Supported sources:
- SQLAlchemy models (`models.py`, `models/` directory)
- Prisma schema (`prisma/schema.prisma`)
- Django models (`models.py` with Django imports)
- Raw SQL DDL files (`*.sql` with CREATE TABLE statements)
- JSON Schema definitions (`*.schema.json`)
- Store schema source path for future commands
### Phase 3: Output Configuration
- Ask preferred output format: SQL inserts, JSON fixtures, CSV files, or ORM factory objects
- Ask preferred output directory (default: `seeds/` or `fixtures/`)
- Ask default locale for faker data (default: `en_US`)
### Phase 4: Profile Initialization
- Create default profiles if none exist:
- `small` — 10 rows per table, minimal relationships
- `medium` — 100 rows per table, realistic relationships
- `large` — 1000 rows per table, stress-test volume
- Store profiles in `seed-profiles.json` in output directory
### Phase 5: Validation
- Verify schema can be parsed from detected source
- Display summary with detected tables, column counts, and relationship map
- Inform user of available commands
## Important Notes
- Uses Bash, Read, Write, AskUserQuestion tools
- Does not require database connection (schema-first approach)
- Profile definitions are portable across environments

View File

@@ -0,0 +1,98 @@
---
name: seed validate
---
# /seed validate - Validate Seed Data
## Skills to Load
- skills/schema-inference.md
- skills/relationship-resolution.md
- skills/visual-header.md
## Visual Output
Display header: `DATA-SEED - Validate`
## Usage
```
/seed validate [--profile <name>] [--strict]
```
## Workflow
### 1. Load Schema and Seed Data
- Parse schema from configured source using `skills/schema-inference.md`
- Load generated seed data from output directory
- If no seed data found, report error and suggest running `/seed generate`
### 2. Type Constraint Validation
- For each column in each table, verify generated values match declared type:
- Integer columns contain only integers within range (INT, BIGINT, SMALLINT)
- String columns respect max length constraints (VARCHAR(N))
- Date/datetime columns contain parseable date values
- Boolean columns contain only true/false/null
- Decimal columns respect precision and scale
- UUID columns contain valid UUID format
- Enum columns contain only declared valid values
### 3. Referential Integrity Validation
- Use `skills/relationship-resolution.md` to build FK dependency graph
- For every foreign key value in child tables, verify parent row exists
- For self-referential keys, verify referenced row exists in same table
- For many-to-many through tables, verify both sides exist
- Report orphaned references as FAIL
### 4. Constraint Compliance
- NOT NULL: verify no null values in required columns
- UNIQUE: verify no duplicate values in unique columns or unique-together groups
- CHECK constraints: evaluate check expressions against generated data
- Default values: verify defaults are applied where column value is omitted
### 5. Statistical Validation (--strict mode)
- Verify null ratio matches profile configuration within tolerance
- Verify edge case ratio matches profile configuration
- Verify row counts match profile specification
- Verify distribution of enum/category values is not unrealistically uniform
- Verify date ranges are within reasonable bounds (not year 9999)
### 6. Report
- Display validation results grouped by severity:
- **FAIL**: Type mismatch, FK violation, NOT NULL violation, UNIQUE violation
- **WARN**: Unrealistic distributions, unexpected null ratios, date range issues
- **INFO**: Statistics summary, coverage metrics
```
+----------------------------------------------------------------------+
| DATA-SEED - Validate |
| Profile: medium |
+----------------------------------------------------------------------+
Tables Validated: 8
Rows Checked: 1,450
Constraints Verified: 42
FAIL (0)
No blocking violations found.
WARN (2)
1. [orders.created_at] Date range spans 200 years
Suggestion: Constrain date generator to recent years
2. [users.email] 3 duplicate values detected
Suggestion: Increase faker uniqueness retry count
INFO (1)
1. [order_items] Null ratio 0.12 (profile target: 0.10)
Within acceptable tolerance.
VERDICT: PASS (0 blocking issues)
```
## Examples
```
/seed validate # Standard validation
/seed validate --profile large # Validate large profile data
/seed validate --strict # Include statistical checks
```

View File

@@ -0,0 +1,17 @@
---
description: Test data generation — create realistic fake data from schema definitions
---
# /seed
Test data generation and database seeding with reproducible profiles.
## Sub-commands
| Sub-command | Description |
|-------------|-------------|
| `/seed setup` | Setup wizard for data-seed configuration |
| `/seed generate` | Generate seed data from schema or models |
| `/seed apply` | Apply seed data to database or create fixture files |
| `/seed profile` | Define reusable data profiles (small, medium, large) |
| `/seed validate` | Validate seed data against schema constraints |