Skip to content

Latest commit

History

136 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hone IDE

AI-native code editor for all platforms — macOS, Windows, Linux, iOS, iPadOS, Android, Web.

Built with Perry: TypeScript compiled to native UI. Powered by @honeide/core for all headless services.

hone.codes · Website


What it is

Hone is an IDE designed from the ground up for AI-assisted development:

  • Native on every platform — one TypeScript codebase, compiled to native UI via Perry
  • Mobile-first — full IDE experience on iPad and Android tablet; focused editing on iPhone/Android phone
  • AI-native — inline completions, chat sidebar, autonomous agent mode, AI PR review
  • Fully customizable — sidebar left or right, activity bar position, keybindings, themes

Status

SliceFeatureStatus
0Workbench shell, theme engine
1Workspace & file explorer
2Settings, keybindings, onboarding
3Editor integration
4Git & source control
5Search
6LSP & language intelligence
7Debug (DAP)
8AI provider system
9AI inline completion
10AI chat
11Terminal integration
12AI agent mode
13AI PR review
14Extension system
15Polish & packaging🔜

Architecture

hone-ide/
├── src/
│ ├── app.ts # Perry entry point
│ ├── platform.ts # Platform detection (macOS/iOS/Android/Web)
│ ├── commands.ts # Built-in command registrations
│ ├── keybindings.ts # Default keybindings per platform
│ ├── menu.ts # Application menu (desktop) / action sheet (mobile)
│ ├── window.ts # Window management
│ └── workbench/
│ ├── render.ts # Main workbench renderer
│ ├── settings.ts # Runtime workbench settings
│ ├── layout/
│ │ ├── grid.ts # Resizable split panel engine
│ │ ├── tab-manager.ts # Editor tab management
│ │ ├── panel-registry.ts # Panel registration
│ │ └── activity-bar.ts # Activity bar / bottom nav
│ ├── theme/
│ │ ├── theme-loader.ts # Load & resolve theme colors
│ │ ├── builtin-themes.ts # Bundled themes (Hone Dark, ...)
│ │ └── token-theme.ts # TextMate token color resolution
│ └── views/ # (coming: explorer, git, search, AI chat, ...)

Building

Perry compiler required. Install from perry-lang.dev.

macOS

perry compile src/app.ts --output hone-ide
./hone-ide

Windows

PowerShell:

perry compile src/app.ts --target windows --output hone-ide
# Perry auto-appends .exe on Windows targets, producing hone-ide.exe
.\hone-ide.exe

cmd.exe:

perry compile src/app.ts --target windows --output hone-ide
hone-ide.exe

iOS Simulator

perry compile src/app.ts --target ios-simulator --output Hone
xcrun simctl install booted Hone.app
xcrun simctl launch booted com.hone.ide

iOS Device (no Xcode project needed)

Requires: Apple Developer account, codesign identity, and a provisioning profile.

One-time setup — generate a provisioning profile:

# Create a stub Xcode project to trigger automatic provisioning
mkdir -p /tmp/HoneSigner/Sources
cat > /tmp/HoneSigner/Sources/main.swift <<<'import UIKit'
cat > /tmp/HoneSigner/project.yml << 'EOF'name: HoneSignertargets: Hone: type: application platform: iOS deploymentTarget: "17.0" sources: [{ path: Sources }] settings: base: PRODUCT_BUNDLE_IDENTIFIER: com.hone.ide DEVELOPMENT_TEAM: YOUR_TEAM_ID CODE_SIGN_STYLE: Automatic GENERATE_INFOPLIST_FILE: YESEOFcd /tmp/HoneSigner && xcodegen generate
xcodebuild build -project HoneSigner.xcodeproj -scheme Hone \
-destination "generic/platform=iOS" -allowProvisioningUpdates

This builds a throwaway app but downloads the provisioning profile you need. Find it in the built .app:

BUILT_APP=$(find ~/Library/Developer/Xcode/DerivedData/HoneSigner-*/Build/Products -name "Hone.app" -type d | head -1)

Build, sign, and deploy:

# 1. Build for device (run from the Perry repo root so it finds libraries)cd /path/to/perry
perry compile /path/to/hone-ide/src/app.ts --target ios --output /path/to/hone-ide/Hone
# 2. Embed provisioning profile
cp "$BUILT_APP/embedded.mobileprovision" Hone.app/embedded.mobileprovision
# 3. Sign
codesign --force --sign "Apple Development: Your Name (XXXXXXXXXX)" \
--entitlements <(cat << 'EOF'<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>application-identifier</key> <string>YOUR_TEAM_ID.com.hone.ide</string> <key>com.apple.developer.team-identifier</key> <string>YOUR_TEAM_ID</string> <key>get-task-allow</key> <true/></dict></plist>EOF) --timestamp=none Hone.app
# 4. Install and launch
DEVICE_ID=$(xcrun devicectl list devices 2>&1| grep "iPhone"| grep "available"| awk '{print $5}')
xcrun devicectl device install app --device "$DEVICE_ID" Hone.app
xcrun devicectl device process launch --device "$DEVICE_ID" com.hone.ide

Replace YOUR_TEAM_ID with your Apple Developer Team ID and the signing identity with your certificate name (find with security find-identity -v -p codesigning).

Platform layout modes

ModePlatformsLayout
Full workbenchDesktop, iPad landscapeActivity bar + sidebar + editor + panels
SplitiPad portrait, Android tabletNarrow sidebar + editor
CompactiPhone, Android phoneSingle panel, bottom tab bar

Customization

Settings are respected at runtime:

import{updateSettings}from'./workbench/settings';// Move explorer to the rightupdateSettings({sidebarLocation: 'right'});// Change themeupdateSettings({colorTheme: 'Hone Light'});

Full settings UI in Slice 2.

License

MIT

About

AI-native code editor for all platforms — macOS, Windows, Linux, iOS, Android, Web

Topics

Resources

Stars

28 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages