# Contributing to Open Island 中文 | English Thank you for your interest in contributing to Open Island! --- ## Human Parts *This section is written for humans.* We welcome all good ideas. If you have the will, you can turn any idea into code for this project and have it used by others. Check the [Roadmap](docs/roadmap.md) to see where the project is heading and pick an area that interests you. All code in this project is produced by AI. You should not contribute human-written code either. ### Getting Started We've put effort into making it easy for AI to iterate on this project. To start contributing, paste the following into your code agent: ``` Please read this project's CONTRIBUTING.md and explain how I should iterate on this project. Then list what you already know, such as release/build process, repo architecture, code conventions, PR standards, etc. ``` ### Report a Bug via Your Code Agent If you run into a problem, copy the prompt below into your code agent (Claude Code, Codex, etc.) and it will automatically collect environment info and create a well-structured issue for you.
Click to expand the prompt ``` I'm having an issue with Open Island (https://github.com/Octane0411/open-vibe-island). Please help me file a GitHub issue. Do the following: 1. Collect my environment info: - Run `sw_vers` to get macOS version - Run `swift --version` to get Swift version - Check if Open Island is running: `ps aux | grep -i "open.island\|OpenIslandApp" | grep -v grep` - Get the app version: `defaults read ~/Applications/Open\ Island\ Dev.app/Contents/Info.plist CFBundleShortVersionString 2>/dev/null || echo "unknown"` - Check which terminal I'm using 2. Ask me to describe: - What I expected to happen - What actually happened - Steps to reproduce 3. Create the issue on GitHub using `gh issue create` with this format: - Title: concise summary - Body with sections: **Environment**, **Description**, **Steps to Reproduce**, **Expected vs Actual Behavior** - Add label "bug" if applicable Repository: Octane0411/open-vibe-island ```
### Request a Feature via Your Code Agent Have an idea? Let your agent draft the proposal for you.
Click to expand the prompt ``` I'd like to request a feature for Open Island (https://github.com/Octane0411/open-vibe-island). Please help me file a GitHub issue. Do the following: 1. Ask me to describe: - What feature I want - Why it would be useful (what problem it solves) - Any ideas on how it should work 2. Create the issue on GitHub using `gh issue create` with this format: - Title: concise summary prefixed with "feat: " - Body with sections: **Feature Description**, **Motivation**, **Proposed Behavior** - Add label "enhancement" if applicable Repository: Octane0411/open-vibe-island ```
--- ## Agent Parts *This section is written for agents.* ### About the Project Open Island is a native macOS companion app for AI coding agents. It sits in the notch/top-bar area and monitors local agent sessions, surfaces permission requests, answers questions, and provides "jump back" to the correct terminal context. Local-first, no server dependency. **Supported agents**: Codex, Claude Code **Supported terminals**: Terminal.app, Ghostty ### Prerequisites - macOS 14+ - Swift 6.2+ - Xcode (for app target) ### Build & Test ```bash # Build the project swift build # Run tests swift test # Run the app swift run OpenIslandApp # Build hook binary (release) swift build -c release --product OpenIslandHooks ``` You can also open `Package.swift` in Xcode to build and run the app target directly. ### Where to Go Next - [`CLAUDE.md`](CLAUDE.md) — Architecture, conventions, branching rules, commit policy, and release workflow. - [`docs/architecture.md`](docs/architecture.md) — System design and engineering decisions. - [`docs/product.md`](docs/product.md) — Product scope and MVP boundary. - [`docs/hooks.md`](docs/hooks.md) — Supported hook events, payload fields, and directive protocol.