Files
brov-macbook/CLAUDE.md
T
2026-10-06 19:49:32 +03:00

1.7 KiB

BroV — guide for AI coding agents

BroV is a personal, never-published fork of Coucou (github.com/Louis-CFM/coucou, MIT, imported at 83708fe). Native macOS app in NotchBuddy/: an animated character in the MacBook notch that shows Claude Code sessions, lets the user approve/answer from the notch, and chats — with the user's own claude CLI as its brain (no API key).

Where things are

  • NotchBuddy/Sources/App/ — Mac app code. NotchBuddy/Sources/CoucouKit/ — shared models, the character engine (BotEngine.swift), pills (PillCatalog.swift).
  • NotchBuddy/Sources/App/ClaudeCodeCLI.swift — runs claude -p … --output-format stream-json --resume <id> for the chat.
  • NotchBuddy/Resources/sounds/ — WAV sounds.
  • NotchBuddy/project.yml — XcodeGen project (never edit the .xcodeproj by hand; it is git-ignored and regenerated).

Build

cd NotchBuddy && xcodegen && xcodebuild -scheme BroV -configuration Debug -derivedDataPath build build
open build/Build/Products/Debug/BroV.app

Rules

  • Personal use only: never publish to GitHub or any public place. The original Coucou name, Mochi character and icon are not used in BroV.
  • Swift 6, SwiftUI + AppKit, no third-party dependencies. The character is drawn in code (Canvas + TimelineView).
  • Secrets live in the Keychain, never on disk or in git.
  • Never block Claude Code: if the app doesn't answer, the hook exits immediately.
  • Never overwrite ~/.claude/settings.json: dated backup, merge, write only after the user confirms.
  • Never approve a Claude Code permission without an explicit click.
  • When spawning claude, strip CLAUDECODE from the environment and close stdin.
  • Pill IDs are stable contract values: never rename an existing pill ID.