MCPcopy Index your code
hub / github.com/IgorWarzocha/howcode

github.com/IgorWarzocha/howcode @v0.1.63

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.63 ↗ · + Follow
2,319 symbols 6,356 edges 492 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

[!IMPORTANT] This is a one-man project. Only so many things I can check. Expect weird edge cases.

There are many desktop apps for coding with AI, but this one...

image

I've clanked a LOT. And during that clanking, I used a few apps. None of them really fit how I work. This one does. It's opinionated, focussed on UX and aimed at YOLOing with agents.

You won't find a file editor. You won't see a turn-by-turn diff. Some things might not instantly click. But when they do, you'll understand the idea behind all of it.

The UI is meant to speak for itself. When it doesn't, it's a fail. So if you don't "get it", file an issue. Tell me how to improve it. I might agree.

Install

npx howcode
# or
npm i -g howcode
howcode

There's a launcher. It downloads the correct version and relaunches the cached desktop app. On Windows, the launcher also creates a Start Menu shortcut after the first successful download.

Or check releases tabs for latest stable-ish version you can just download. Windows releases include an installer; Linux releases include an AppImage.

Built on Linux, compatible with Mac and Windows (hopefully).

Works on my machine™

What you can do

  • Coding with Pi in a desktop environment — the main dish.
  • Sidebar stuff — pretty much everything you'd expect.
  • Inbox view — collating all the recent messages.
  • Built in terminal — with persisted transcript history, apparently.
  • Git-ops composer — a separate view tailored to doing things with git.
  • Reviewing diffs — comment-based workflow.
  • Pi as-is when you want it — an embedded Pi TUI takeover mode.
  • Voice input — local dictation through sherpa-ONNX, running on CPU.
  • Skills and extensions — browse, install, remove, and configure Pi skills/extensions from inside the app.

Coming next

The near-term direction is:

  • more cards /s
  • worktrees - please use only one session per project
  • per-project automations
  • multiple terminals per session
  • external terminal control for agents
  • responsive-layout polish
  • background mode when Pi has a server, unless I find a workaround
  • remote sessions over SSH... see above?

And additional views for just chatting, with some basic websearch etc., a claw-like sidekick for the app that can use it for/with you and co-work-style environment.

For developers

If you want to run from source:

bun install
bun run dev

Issues and updates

[!IMPORTANT] I have bundled a skill for writing GH issues. Please use it with your Clanker.

Extension points exported contracts — how you extend this code

PtyProcess (Interface)
(no doc) [2 implementers]
desktop/terminal/types.ts
Window (Interface)
(no doc)
src/types.d.ts
Statement (Interface)
(no doc)
shared/better-sqlite3.d.ts
PtyAdapter (Interface)
(no doc)
desktop/terminal/types.ts

Core symbols most depended-on inside this repo

cn
called by 213
src/app/utils/cn.ts
get
called by 127
shared/better-sqlite3.d.ts
handledAction
called by 69
desktop/pi-threads/action-router-result.ts
getThreadStateDatabase
called by 64
desktop/thread-state-db/db.ts
getPersistedSessionPath
called by 62
shared/session-paths.ts
invokeRequest
called by 61
src/electron/preload/create-desktop-api.ts
invokeRequest
called by 56
src/app/dev-web-bridge.ts
all
called by 50
shared/better-sqlite3.d.ts

Shape

Function 2,276
Method 31
Class 8
Interface 4

Languages

TypeScript100%

Modules by API surface

src/app/query/desktop-query.ts47 symbols
shared/pi-thread-action-payloads.ts41 symbols
src/electron/main/updater/app-updater.ts36 symbols
desktop/native-extensions/howcode-native-ask-questions.mjs31 symbols
src/app/app-shell/app-shell-layout.tsx29 symbols
desktop/app-settings/writers.ts28 symbols
desktop/runtime-host/live-runtime-service.ts27 symbols
desktop/runtime-host/client-bridge.ts27 symbols
src/app/components/workspace/composer/composer-paste-attachments.ts25 symbols
desktop/runtime-host/live-runtime-registry.ts25 symbols
src/app/app-shell/controller-optimistic-updates.ts24 symbols
shared/pi-message-mapper.ts24 symbols

For agents

$ claude mcp add howcode \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page