mirror of
https://github.com/hanzoai/ide.git
synced 2026-10-30 18:33:54 +00:00
A ground-up desktop IDE: the Engram memory system, tree-sitter code intelligence, a sandboxed execution engine and a multi-agent coding engine, all in compiled Rust, on the VS Code workbench. Identity is Hanzo IAM (hanzo.id) through the Hanzo CLI, tools arrive over MCP from `hanzo-mcp`, models come from a local engine if one is running or api.hanzo.ai if not, and a running editor is a peer on the local ZAP bus at ~/.hanzo/ide.sock. The IDE and the CLI share one home at ~/.hanzo. Redistributed third-party software is listed in THIRD-PARTY-NOTICES.md.
3.4 KiB
3.4 KiB
Hanzo Production Checklist
Last audited: 2026-06-09. Items marked [Eli] need account access only you have.
Done (verified this audit)
- Full workspace test suite green: 793 tests, 0 failures (engine 733, sandbox 45, ai 12, shell 3).
- Packaged app works end to end: sidecar bundled + commonjs anchor, localhost asset server (service workers / extension webviews), Claude Code extension runs and edits real files.
- Version metadata aligned at 0.1.0 (package.json, tauri.conf.json, crates).
- Crash handler writes ~/.hanzo/crash.log (panic hook).
- Project rules, web_search, FIM completions, terminal Cmd+K, @git, Cmd+L shipped; audit fixed rules contamination + Tool RAG gating.
- Localhost port now logged after logger init so it lands in hanzo.log.
Blockers for public distribution
1. Code signing certificate [Eli]
security find-identity shows Apple Distribution (App Store) and Apple
Development certs only. Distributing a DMG outside the App Store requires a
Developer ID Application certificate:
- developer.apple.com → Certificates → Create → "Developer ID Application" (team: Splash Pro Io Corp, 694X65WWQS).
- Install it in the login keychain.
- Build with
scripts/build-release-signed.sh(already checks the env vars):APPLE_SIGNING_IDENTITY="Developer ID Application: Splash Pro Io Corp (694X65WWQS)"plusAPPLE_ID/APPLE_PASSWORD(app-specific) /APPLE_TEAM_IDfor notarization. Unsigned builds get Gatekeeper-blocked on other Macs.
2. Auto-updater [Eli + code]
tauri.conf.json has placeholder updater config:
pubkey: "PLACEHOLDER_GENERATE_WITH_TAURI_SIGNER"- endpoint
https://releases.hanzo.ai/...(not live) Currently dormant — nothing in the frontend calls the updater, so it cannot crash. Before enabling:
npx tauri signer generate→ keep the PRIVATE key out of the repo (password manager / CI secret). Put the public key in tauri.conf.json.- Stand up the releases endpoint (static JSON per target/arch works).
- Set
bundle.createUpdaterArtifacts: true. - Add a "Check for Updates…" menu item calling plugin-updater.
3. Open VSX gallery TOS
The Extensions panel hits open-vsx.org from the app. Fine for personal use; for a public product, register/confirm usage per Open VSX terms (Eclipse Foundation) the way VSCodium does.
Should-do before a 1.0
- First-run experience: empty-state guidance for "no provider configured" (the panel exists; verify the cold-start path on a fresh machine account with no ~/.hanzo).
- Surface extension-host crashes to the UI (currently log-only restart).
- A short privacy note: what leaves the machine (provider APIs, Open VSX, open-vsx readme CDN, DuckDuckGo for web_search) and what stays local.
- Windows/Linux: extension host search paths and node resolution are macOS-tuned; gate or port before claiming cross-platform.
- Rotate any provider API keys that were pasted during development sessions if logs/transcripts ever leave this machine.
Known cosmetics / debt
cargo checkwarnings: a handful of unused imports/variables (harmless;cargo fixcandidates).read_project_rulesreads rule files on every chat turn (fine — small files; cache if it ever shows up in profiles).- Center-editor extension detail view was reverted (sidebar detail works); retry requires identifying the missing workbench service first.