-
Notifications
You must be signed in to change notification settings - Fork 39
feat: add JSON schema export for all XcodeGraph models #236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Add XcodeGraphSchemaGenerator executable target - Generate comprehensive JSON schemas for 32 core models - Include proper type definitions and property structures - Add schema generation to CI/CD workflows - Schemas saved to schemas/ folder following ModelName.json pattern - Compatible with JSON Schema Draft 2020-12 specification - Automated generation during releases 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Test schema generation on every PR/push - Verify all schemas are generated correctly - Run on macOS to ensure compatibility 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
| }, | ||
| "postActions" : { | ||
| "items" : { | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm looking into the missing reference here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive JSON schema generation for all XcodeGraph models, including a new executable target to generate schemas and CI/CD integration for automated validation and release.
- Introduces JSON schema files for 32 XcodeGraph models under the schemas/ directory
- Adds the executable target "XcodeGraphSchemaGenerator" in Package.swift
- Updates release and CI workflows to generate and validate schemas on macos-15
Reviewed Changes
Copilot reviewed 35 out of 37 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| schemas/*.json | Generated JSON schemas for various XcodeGraph models |
| Package.swift | Added executable target for schema generation |
| .github/workflows/release.yml | Updated to run schema generation during release workflow |
| .github/workflows/XcodeGraph.yml | Added job to test schema generation in CI/CD workflows |
- Implement reference detection for nested model types - Use GitHub raw URLs for cross-schema references - Ensure proper JSON Schema validation with interconnected models - Support references for arrays and object properties Examples: - Target.dependencies -> TargetDependency.json - Project.targets -> Target.json - Workspace.schemes -> Scheme.json 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
|
There are some references that are not right. I'm looking into them. |
I'm generating schemas and including them in the repository such that developers can use it with the graph representation exported through
tuist graph --jsonor with LLMs.Copilot
Summary
XcodeGraphSchemaGeneratorto generate schemasChanges
🚀 New Features
📁 Generated Schemas
All schemas are saved to the
schemas/directory following the patternModelName.json:Graph.json,Project.json,Target.json,Workspace.jsonBuildAction.json,TestAction.json,RunAction.json,ArchiveAction.jsonSettings.json,BuildConfiguration.json,DeploymentTargets.json🔧 CI/CD Integration
🏗️ Technical Details
https://github.com/tuist/XcodeGraph/schemas/ModelName.jsonTest Plan
Usage
🤖 Generated with Claude Code