OpenEditor Project Setup
Quick Start
Use this skill to onboard an arbitrary repo into OpenEditor. The output is usually:
- for iOS or SwiftUI repos
- a short explanation of what was inferred vs. what still needs confirmation
When the repo signals are sufficient, generate the file contents directly.
Do not ask the user for the
or
schema when the references in this skill already cover it.
Read only the references you need:
- Always read references/project-config.md
- Read references/project-detection.md when inferring framework, port, or run command
- Read references/ios-config.md only for iOS or SwiftUI projects
Workflow
1. Inspect the repo first
Look for the smallest high-signal set of inputs:
- lockfiles such as , , , or
- framework folders such as , , , ,
- iOS signals such as , , and
- any existing or
Do not invent support for frameworks that the references do not cover.
2. Infer the project type conservatively
Prefer the real parser defaults from the references over generic assumptions.
- -> port , run command or when Bun lockfiles are present
- -> port
- -> port , run command
- -> port , run command or
- Vite React -> port
- Shopify theme -> port , run command
- iOS -> port , empty , plus
- Unknown web repo -> default to , port , run command
If the evidence is mixed, explain that uncertainty instead of pretending confidence.
3. Generate the smallest correct config
Rules:
- Keep minimal unless the repo clearly supports more
- Do not add speculative routes or URL-state variants just to look smart
- If route discovery is weak, emit a single home route:
{ "path": "/", "label": "Home" }
- Preserve existing config when updating; merge carefully instead of replacing unrelated fields
- Do not invent unsupported keys
4. Only generate for real iOS projects
When the repo is SwiftUI or Xcode-based:
- infer from the or name when possible
- default simulator to
- infer views from obvious files
- keep view entries simple unless the repo provides stronger signals
- do not fabricate bundle IDs, deep links, or accessibility tap metadata unless the repo exposes them
5. Explain assumptions explicitly
After the config output, include a short explanation covering:
- detected framework or platform
- chosen port and run command
- whether routes were inferred or defaulted
- whether was generated and why
- which fields should be manually confirmed
6. Prefer generation over schema questions
If the repo is a supported type and the references here cover the config format:
- generate the file contents directly
- use conservative defaults when some fields are weakly signaled
- ask follow-up questions only when a missing field would make the config invalid or misleading
Do not stop with "I need the schema" for normal React, Next, Astro, Expo, React Native, Shopify, or iOS repos.
Output Rules
When the user asks for file contents, prefer this structure:
text
.logic-editor.json
```json
{ ... }
oe-swift.json
Notes
If the project is not iOS, omit `oe-swift.json`.
If there is already a config file, show the updated file content instead of a from-scratch template.