This repository was archived by the owner on Feb 26, 2026. It is now read-only.
feat: add JSON schema export for all XcodeGraph models#236
Closed
feat: add JSON schema export for all XcodeGraph models#236
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>
pepicrft
commented
Jun 19, 2025
| }, | ||
| "postActions" : { | ||
| "items" : { | ||
|
|
Contributor
Author
There was a problem hiding this comment.
I'm looking into the missing reference here.
Contributor
There was a problem hiding this comment.
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>
Contributor
Author
|
There are some references that are not right. I'm looking into them. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
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