Skill v1.0.0
currentLLM-judged scan90/100version: "1.0.0" name: visionos-app-bootstrap description: Bootstrap new Apple Vision Pro apps from vetted visionOS starter templates instead of creating projects from scratch. Use when Codex needs to scaffold, clone, adapt, rename, validate, or deploy a fresh visionOS window app or immersive mixed-reality app with working Info.plist settings, Swift 6 / strict concurrency project defaults, icon-layer tooling, signing sync, and active-device deployment helpers.
visionOS App Bootstrap
Overview
Use the installed blueprint payload under ~/.codex/vendor/visionos-codex-kit/blueprints instead of generating a new project shell by hand. This skill is for fast, correct startup. It complements visionos-3d-development, which remains the reference skill for implementation details after the scaffold exists.
Installed Asset Resolution
Resolve installed blueprint paths with the bundled scripts:
- Root:
bash scripts/locate_blueprint_assets.sh root - Window template:
bash scripts/locate_blueprint_assets.sh window - Mixed template:
bash scripts/locate_blueprint_assets.sh mixed - Install manifest:
bash scripts/locate_blueprint_assets.sh manifest
Copy a template into a destination with:
bash scripts/create_from_blueprint.sh window /abs/path/NewAppbash scripts/create_from_blueprint.sh mixed /abs/path/NewApp
Template Selection
window: use for a normal visionOS window app with a sane default size,
empty starter content, layered icon workflow, signing sync, and active-device deployment helper.
mixed: use for an immersive-only mixed-reality app with noWindowGroup,
room-geometry visualization, a reachable red test ball, layered icon workflow, signing sync, and active-device deployment helper.
Bootstrap Workflow
- Choose the template. Do not start from scratch if one of these blueprints
fits the request.
- Copy the template into the requested destination with
scripts/create_from_blueprint.sh.
- Rename the shell cleanly:
- app name and module name
- source folder and entry-point file names
.xcodeprojname- target and shared scheme names
- bundle identifier
- user-facing app strings
- README examples if still present
- Prefer changing
project.ymland source files, then regenerate with
./tools/regenerate_project.sh. Do not hand-edit the .pbxproj unless regeneration cannot express the change.
- Preserve the icon workflow. If icon layers change, update
IconSources/
and run ./tools/build_app_icon.sh.
- Validate with:
xcodebuild -project <Project>.xcodeproj -scheme <Scheme> -destination 'platform=visionOS Simulator,name=Apple Vision Pro' build./tools/deploy_to_active_device.shwhen device deployment matters
Guardrails
- Keep the vendored
tools/scripts unless the user explicitly wants a
different bootstrap standard.
- Preserve Swift 6, strict concurrency, and
xcodegen-based project
regeneration.
- For the mixed template, do not add a
WindowGroupunless the user asks for a
mixed shell with a window.
- For the window template, keep the default window placement and size behavior
unless the user asks to change it.
- Use the device deploy script rather than trying to encode run-destination UI
state into Xcode user files.
- If the task shifts from scaffolding into feature work, also use
visionos-3d-development for API and architecture guidance.
Search Patterns
- Locate installed templates:
bash scripts/locate_blueprint_assets.sh root - Copy a window starter:
bash scripts/create_from_blueprint.sh window /tmp/MyWindowApp - Copy a mixed starter:
bash scripts/create_from_blueprint.sh mixed /tmp/MyMixedApp