feat(poc): catalog-gen, a cli tool to generate new entity catalogs #2163
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR introduces
catalog-gen, a code generation CLI tool that scaffolds complete catalog services from a declarative YAML configuration. It generates all necessary boilerplate including models, repositories, OpenAPI specs, Kubernetes manifests, and AI agent integration files.Key Features
catalog.yamlfile.claude/skills and commands for AI-assisted developmentgeneratecommand regenerates only non-editable files, preserving manual customizationsProject Structure
How Has This Been Tested?
1. Build catalog-gen
2. Initialize a new MCP Server catalog
3. Add entity properties
Edit
mcp-catalog/catalog.yamland add properties underspec.entity.properties:4. Regenerate code
cd mcp-catalog ../bin/catalog-gen generate5. Generate OpenAPI server
6. Build and verify
7. Add artifacts (optional)
Edit
catalog.yamland add artifacts:Then either:
/regeneratecommand in Claude CLI - the agent will handle all manual steps automatically../bin/catalog-gen generateand follow the manual steps in.claude/skills/regenerate.md8. Seed test data
Use the
/seed-datacommand in Claude CLI, or manually edit:manifests/kustomize/overlays/dev/sample-catalog.yaml- Entity datamanifests/kustomize/overlays/dev/artifacts.yaml- Artifact data9. Run locally with PostgreSQL
10. Test the API
Merge criteria:
DCOcheck)ok-to-testhas been added to the PR.