Kakico is a native Apple Silicon (arm64) screenshot-annotation app for macOS, written in Swift (SwiftUI shell + AppKit canvas, Core Graphics / Core Image rendering). Kakico aims to be a modern Skitch alternative.
Open or paste an image, mark it up, and export (shortcuts shown in parentheses):
- Tools: Arrow (
A), Line (L), Rectangle (R), Ellipse (O), Text (T), Pixelate (P), and Crop (C). - Editing: Select/move/resize via handles, Undo (
Cmd+Z), Redo (Cmd+Shift+Z), and Delete. - Output: Export as PNG, JPEG, or lossy WebP; copy to clipboard (
Cmd+C), and drag out as a PNG file. - Tabs: Open tab (
Cmd+T) and close tab (Cmd+W) and move tab (Opt+Cmd+←/→). Edit multiple images in separate tabs without losing active work.
brew tap tk3fftk/tap
brew install --cask kakicoRequires macOS 15+ on Apple Silicon. The app is ad-hoc signed (not notarized); the cask removes the quarantine attribute on install so it opens normally.
Kakico is a personal project I built for my own use. Its features and design reflect what works best for me in my day-to-day workflow.
With that in mind, this repository's GitHub settings limit pull requests to collaborators only. Feature requests are welcome through Issues, though I cannot promise that every suggestion will be implemented. Thank you for your understanding and interest in the project.
Kakico is licensed under the PolyForm Noncommercial License 1.0.0. Please refer to the license for the terms governing use, modification, and distribution.
swift test # Run unit tests (model + renderer)
./scripts/build-app.sh release # Build & assemble an ad-hoc-signed Kakico.app
open build/Kakico.appRequirements: macOS 15+, Xcode/Swift toolchain. The build script produces a native arm64, ad-hoc-signed bundle (no Apple Developer account required).
Run the standalone Bash CLI from this repository (no Python or AI service required):
bash scripts/benchmark-rendering.sh
bash scripts/benchmark-rendering.sh --baseline-ref v0.1.2
bash scripts/benchmark-rendering.sh --helpRequires macOS 15+, Swift 6+, Bash 3.2+, jq, Git, and network access or a populated
SwiftPM dependency cache. The default also requires Homebrew-installed Kakico,
its application bundle, and a matching local v<version> Git tag. The installed
Homebrew version must match the app's version; missing tags or mismatches stop
the run. An explicit --baseline-ref bypasses Homebrew detection.
The CLI builds the baseline source and current working tree (including uncommitted source changes) in Release, verifying each snapshot's pinned dependencies. It measures 1080p/4K, 1/20/100 shapes, stroke widths 6/24, and first/middle/last active elements (deduplicated for one shape). Each condition runs 35 frames; the first 5 are excluded from the median and nearest-rank p95. Frame 0 is reported separately, including initial cache preparation. Baseline runs first, then current normal and cached rendering. No performance threshold is enforced.
Each run preserves source snapshots, Git diffs, environment details, build/run
logs, all frame timings (samples.csv), statistics and ratios (summary.csv),
and comparison.md under a unique build/benchmarks/<timestamp>-<suffix>/.
The final path is printed; failures return nonzero and retain diagnostics.
Missing conditions or frames are treated as failures.
This compares rebuilt sources, not the installed binary. Rendering differences
such as shadows are included. There is no base image; scale is 1. Screen transfer,
UI processing, loading and export are excluded. System load can affect results.
The repository skill at .agents/skills/benchmark-rendering/SKILL.md invokes this
same CLI via $benchmark-rendering or a rendering benchmark request.
