Add ClaudeCodeFormat to unified build system#46
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR integrates Claude Code plugin generation into the unified build system by replacing a bash script with a Python-based ClaudeCodeFormat class. The implementation outputs to skills/software-security/rules/ at project root (rather than ide_rules/), preserves YAML frontmatter with security rule metadata, and fixes plugin manifest schema issues by changing the repository field from an object to a string format.
Key Changes
- Added
ClaudeCodeFormatclass to generate.mdfiles with preserved YAML frontmatter for Claude Code plugins - Introduced
outputs_to_ide_rules()method in base format to support formats outputting to project root vside_rules/ - Fixed plugin manifest schema by changing
repositoryfield from object format to simple string URL
Reviewed Changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/unified_to_all.py | Registers ClaudeCodeFormat and uses format's output preference for path construction |
| src/prepare-claude-code-plugin.sh | Removed bash script replaced by Python converter |
| src/formats/claudecode.py | New ClaudeCodeFormat implementation with YAML frontmatter preservation |
| src/formats/base.py | Added outputs_to_ide_rules() method for flexible output location |
| src/formats/init.py | Exports ClaudeCodeFormat in module interface |
| src/converter.py | Updated FormatOutput to include outputs_to_ide_rules field |
| skills/software-security/rules/*.md | Added rule_id after frontmatter, removed empty languages arrays |
| .claude-plugin/plugin.json | Changed repository from object to string format |
| .claude-plugin/marketplace.json | Moved repository field to plugin level, fixed source path |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
santosomar
left a comment
There was a problem hiding this comment.
@thomas-bartlett — thanks for fixing and enhancing the elements from #45 ... Looks good!
Integrate Claude Code plugin generation into the Python converter architecture. Replaces bash script with ClaudeCodeFormat class that outputs to skills/ while preserving YAML frontmatter. Fixes plugin manifest schema issues (repository field format).