Codo
Description
π macOS menubar toast notification daemon and CLI β notification bridge for Claude Code hooks and AI agents
Installation
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open the source below and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
README
Codo
macOS menubar daemon + CLI for displaying system toast notifications. Designed as a notification bridge for Claude Code hooks and other AI agent workflows.
# Simple notification
codo "Build Done" "All 42 tests passed"
# With template (sets subtitle + sound automatically)
codo "Build Done" "42 tests passed" --template success
codo "Build Failed" "3 errors" --template error
codo "Deploying..." --template progress
# Group related notifications
codo "Step 1/3" --template progress --thread deploy-v1.2
codo "Step 2/3" --template progress --thread deploy-v1.2
codo "Deploy Done" --template success --thread deploy-v1.2
# Via stdin JSON
echo '{"title":"Build Done","body":"All tests passed","subtitle":"β
Success"}' | codo
# List available templates
codo --template list
Architecture
Two layers: **Swift menubar app** (daemon, listens on Unix Domain Socket, shows toast) + **TypeScript CLI** (Bun script, sends messages to daemon).
Claude Code hook β codo CLI (Bun) β UDS β Codo.app (Swift) β macOS notification
Development
Prerequisites
- macOS 14+ (Sonoma)
- Swift 5.10+ (
swift --version) - Bun (
bun --version) β CLI runtime and TS test runner - SwiftLint (
brew install swiftlint)
Setup
# Install dependencies and git hooks
bun install
This runs `husky` via the `prepare` script, which sets up `.husky/` as the git hooks directory.
Git Hooks
| Hook | Stage | What runs |
|---|---|---|
| pre-commit | L1+L2 | swift test + bun test + SwiftLint strict + Biome lint |
| pre-push | L1+L2+L3 | Unit tests + lint + integration tests |
Hooks **cannot be skipped** β this is by design. Every commit must pass unit tests and lint.
Running Tests Manually
# L1: Swift unit tests (46 tests)
swift test
# L1: TypeScript unit tests (60 tests)
cd cli && bun test
# L2: Swift lint
swiftlint lint --strict --quiet
# L2: TypeScript lint
cd cli && bunx biome check .
# L3: Integ
Related Skills
Agency Agents
A complete AI agency at your fingertips - From frontend wizards to Reddit community ninjas, from whimsy inject
AI Firecrawl
π₯ The API to search, scrape, and interact with the web for AI
AI Artifacts Builder
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web tech
AI CrewAI
Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewA
AI TrendRadar
βAI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.π― εε«δΏ‘ζ―θΏθ½½οΌδ½ η
AI mem0
| Universal memory layer for AI Agents | 51341 | 221 | 1 |
AI