Import Coucou 0.1.9 (Louis-CFM/coucou@83708fe), Mac app only
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# Contributing to Coucou
|
||||
|
||||
Thanks for wanting to help Mochi grow up! 🫶
|
||||
|
||||
## Getting started
|
||||
|
||||
```bash
|
||||
brew install xcodegen
|
||||
cd NotchBuddy && xcodegen && open NotchBuddy.xcodeproj
|
||||
```
|
||||
|
||||
Never edit `NotchBuddy.xcodeproj` by hand: change `project.yml` and run `xcodegen`.
|
||||
|
||||
Check resting island dimensions on screens with and without a notch:
|
||||
|
||||
```bash
|
||||
bash scripts/test-screen-geometry.sh
|
||||
```
|
||||
|
||||
## Good first contributions
|
||||
|
||||
- A new service integration (a poller + an entry in `PillCatalog.swift` in the `.service` category + a detail card). Look at `StripePoller.swift` for a compact example.
|
||||
- A new agent: any agent already gets its own automatic pill by sending `coucou_agent` in its hook payload (see `docs/AGENTS.md`). Add an entry in `PillCatalog.swift` in the `.agent` or `.workspace` category only if you want it to be declarable in Settings → Active pills.
|
||||
- A new emote or sound for Mochi.
|
||||
- Bug fixes — please describe how to reproduce.
|
||||
|
||||
## Rules of the house
|
||||
|
||||
- Swift 6, SwiftUI + AppKit, **no third-party dependencies** unless there's really no other way.
|
||||
- Secrets go in the Keychain, never on disk or in git.
|
||||
- No telemetry, no network calls except to services the user configured.
|
||||
- Never block Claude Code: if the app doesn't answer, the hook must exit right away.
|
||||
- Never write `~/.claude/settings.json` without a backup and the user's confirmation.
|
||||
- Keep it light: 0 % CPU when the island is hidden.
|
||||
|
||||
## Pull requests
|
||||
|
||||
- One topic per PR, with a short GIF or screenshot for anything visual.
|
||||
- Build must pass with no new warnings.
|
||||
Reference in New Issue
Block a user