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>
2.6 KiB
2.6 KiB
name
| 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.mdto normalize types across ORM dialects
2. Resolve Generation Order
- Build dependency graph from foreign key relationships
- Use
skills/relationship-resolution.mdto determine insertion order - Handle circular dependencies via deferred constraint resolution
- If specific
table_nameprovided, generate only that table plus its dependencies
3. Select Profile
- Load profile from
seed-profiles.json(default:medium) - Override row count if
--rowsspecified - 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)
- Map column types to faker providers using
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_idonemployees): 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