Skip to content

vikranthreddimasu/sharpie

Repository files navigation

Sharpie

Sharpie is a macOS AI rewrite layer for serious work. Select a rough thought, press Command-/, and Sharpie turns it plus the right tiny context pack into one excellent prompt or task brief for the AI tool you already use.

The goal is not another chat app. The goal is a native Mac reflex: select thought, sharpen thought, keep moving.

Product Direction

Sharpie is being reimagined around three ideas:

  • Fast AI rewrites. Sharpie uses the AI CLIs users already have, with cached context, compact prompts, backend readiness, and optional BYOK Fast Lane to keep the rewrite fast.
  • Small visible context. Sharpie uses a compact Context Receipt such as Cursor · Sharpie · main · 4 changed files · clipboard error so you can see what informed the rewrite.
  • Project memory without hidden clutter. Human-authored project memory lives in .sharpie/; generated indexes live in Application Support as rebuildable cache.

Read PRD.md for the product source of truth and AGENTS.md for implementation rules.

How It Should Feel

Sharpie should feel like a premium native Mac command instrument: Perplexity-like restraint, Spotlight-like speed, Raycast-like utility, and Apple-native calm.

The core surface is Command Bloom:

Sharpie

What are you trying to do?
fix settings weirdness

Cursor · Sharpie · main · 4 files

The output should look like a task brief, not a chat transcript.

Architecture At A Glance

The rewrite pipeline is CLI-first:

  1. Capture selected text or fallback input.
  2. Build a Context Pack from cached snapshots.
  3. Assemble a compact prompt for the right output shape.
  4. Route to the fastest healthy installed AI CLI.
  5. Optionally use BYOK Fast Lane when the user explicitly enables it.
  6. Replace the selected text when safe, otherwise copy the result.

Latency targets:

Step Target
Hotkey to visible UI under 100ms
Hotkey to backend dispatch usually under 500ms
CLI rewrite usually under 3s
BYOK Fast Lane rewrite usually under 2s
Backend hard timeout 8s

Project Memory

Onboarding a project is optional. Sharpie should work without it, but onboarded projects get better context.

Human-authored project memory:

project/
  .sharpie/
    context.md
    preferences.md
    recent-decisions.md
    ignore

Generated cache, added progressively as needed:

~/Library/Application Support/Sharpie/Projects/<project-hash>/
  manifest.json
  symbols.db
  files.db
  graph.json
  last-indexed.json

.sharpie/ should be inspectable, editable, and optionally committed. Generated indexes are cache, stay local, and should be safe to clear and rebuild.

Code Intelligence Direction

Sharpie should use deterministic repo maps before heavier AI memory.

  • Use an aider-style repo map for important files, classes, functions, signatures, imports, and dependencies.
  • Use macOS FSEvents to mark onboarded projects dirty while Sharpie is running.
  • Debounce changes by roughly 2 to 5 seconds.
  • Incrementally reparse changed files only.
  • Use the latest cached index on hotkey, even if slightly stale.
  • Keep V1 context around 500 to 1,200 tokens.
  • Never dump whole files by default.

Tree-sitter is the preferred future direction for fast multi-language parsing. SourceKit/IndexStoreDB can come later for deeper Swift intelligence. SCIP can come later as a language-agnostic interchange format.

Privacy And Security

  • By default, Sharpie itself makes no outbound network calls.
  • By default, AI traffic happens inside local CLIs the user already installed and authenticated.
  • Optional BYOK Fast Lane may make direct provider calls only when explicitly enabled.
  • No required API keys.
  • Optional BYOK secrets are stored only with explicit consent, preferably in macOS Keychain, or read from environment variables.
  • No telemetry.
  • No analytics.
  • No crash reporter.
  • No update checker.
  • No accounts.
  • No cloud sync.
  • No hidden full-computer indexing.

Development

Requires macOS 14+ and Xcode 16+ with the Swift 6 toolchain.

make app
open build.noindex/Sharpie.app

Run tests when relevant:

swift test

Current Spec Files

  • PRD.md: product direction, UX, architecture, milestones, and hard no-list
  • AGENTS.md: instructions for AI coding agents working in this repo
  • CLAUDE.md: small compatibility pointer for Claude Code
  • Sources/Sharpie/Resources/sharpen.md: canonical bundled prompt resource

License

MIT. See LICENSE.

About

A menu-bar app that turns lazy prompts into the prompt you should have written. BYOA.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors