Thanks for contributing to visionos-codex-kit.
This repository bundles three related deliverables:
- installable Codex skills under
skill/ - reusable visionOS blueprints under
blueprints/ - maintenance and rebuild tooling under
build-tools/
The main goal is to keep the repo useful for real Apple Vision Pro and visionOS development while keeping installation and bootstrap flows predictable.
- Keep
maininstallable. A contributor should be able to clone the repo and run./install.shsuccessfully. - Prefer small, focused changes over broad refactors.
- Do not commit generated caches, temporary build outputs, or local test residue.
- Treat
skill/,blueprints/, andbuild-tools/as distinct surfaces with different responsibilities. - When in doubt, optimize for reproducibility and low-maintenance repo structure.
skill/visionos-3d-development/: the main reference skill for RealityKit, ARKit, SwiftUI spatial APIs, immersive rendering, and related visionOS development guidance.skill/visionos-app-bootstrap/: the bootstrap skill that teaches Codex how to scaffold new apps from the installed blueprint payload.blueprints/templates/: ready-to-copy starter projects.blueprints/shared-tools/: canonical helper scripts shared by the templates.build-tools/: scripts, manifests, and small snapshots used to rebuild or refresh the skill content.install.sh: the supported installation entry point.VERSION: the coordinated repo version.
Edit the repo source, not installed copies under ~/.codex.
Typical contribution targets:
- Skill content updates: edit files under
skill/. - Blueprint improvements: edit files under
blueprints/templates/and, when appropriate,blueprints/shared-tools/. - Rebuild pipeline changes: edit files under
build-tools/. - Installer behavior: edit
install.shand any related documentation.
If you change shared blueprint helpers in blueprints/shared-tools/, also sync them into the templates before submitting.
Clone the repo and work from the repository root:
git clone https://github.com/pardeike/visionos-codex-kit.git
cd visionos-codex-kitInstall the skills locally if you need to test the installed layout:
./install.shTo inspect versioning without installing:
./install.sh --version
./install.sh --print-installed-versionChoose the checks that match the files you changed.
- Verify links, paths, and references are still valid.
- Keep guidance latest-first and avoid stale platform assumptions.
- Prefer official Apple sources for framework behavior and platform details.
- Preserve clear structure so an LLM can navigate the skill quickly.
Run the relevant local helper scripts from the affected template.
Typical flow:
./tools/build_app_icon.sh
./tools/regenerate_project.shIf the project behavior changed, also validate with Xcode build tooling such as xcodegen and xcodebuild, and use the included device deployment helper when appropriate:
./tools/deploy_to_active_device.shIf you changed blueprints/shared-tools/, refresh the vendored copies inside the templates:
./blueprints/scripts/sync_shared_tools_into_templates.shUse a syntax check:
bash -n path/to/script.shUse:
python3 -m py_compile build-tools/scripts/*.pyAt minimum, test:
./install.sh --version
./install.shIf possible, also test with a temporary CODEX_HOME so the first-run path stays healthy.
- Keep content practical and current.
- Prefer precision over volume when the two conflict.
- Do not duplicate large amounts of generated or derivative reference material without a clear retrieval benefit.
- Keep file and folder structure intentional so Codex can load only the needed context.
- Keep copied projects easy to rename and adapt.
- Preserve the external icon workflow and active-device deployment workflow unless there is a strong reason to change them.
- Avoid introducing hidden assumptions that only work on one machine.
- Prefer self-contained template behavior over repo-relative runtime dependencies.
- Commit manifests, scripts, and small reproducibility snapshots.
- Do not commit heavy generated symbol graphs, caches, or temp directories.
- Make rebuild steps deterministic where practical.
Use clear, imperative commit messages, for example:
Fix mixed blueprint device signing syncRefresh RealityKit source catalogDocument installer version metadata
For pull requests:
- explain what changed
- explain why it changed
- list how you validated it
- call out any known limitations or follow-up work
Screenshots are helpful for blueprint UX changes and GitHub-facing presentation updates.
This repo uses one coordinated version for:
- the skills
- the installed blueprint payload
- the installer contract
If your change affects published behavior, install layout, or release expectations, consider whether VERSION, release notes, or a follow-up tag will need updating.
Do not change the version casually as part of unrelated work.
- editing installed copies in
~/.codexand treating them as source - committing large generated outputs
- breaking
./install.sh - mixing unrelated blueprint, skill, and build-pipeline changes into one contribution without a good reason
- silently changing release or install semantics
If you are unsure whether a change belongs in the skill, the blueprints, or the build pipeline, open an issue or describe the intended outcome before making a broad change.
Good issue reports include:
- the affected area of the repo
- the current behavior
- the expected behavior
- the validation environment, especially for visionOS, Xcode, and device-related problems