Skip to content

Commit 6d5c046

Browse files
authored
docs: set the writing and performance standards, and say where makit came from (#165)
* docs(agents): require ASD-STE100 prose, drop the Cursor Cloud notes Agents wrote long, passive prose in replies, commits, and docs. One rule now sets the style: ASD-STE100 (Simplified Technical English). AGENTS.md also held Cursor Cloud VM setup notes. Every agent read them in every session, on every platform. Remove them and keep the file to standards only. docs/DEVELOPMENT.md still documents the keyless e2e loop. * fix(agents): apply ASD-STE100 rule to its own definition The ASD-STE100 requirement violated itself: 25 words, 5 instructions in one sentence. Split into 7 short sentences, one instruction per line, all ≤20 words. README.md: added 'Where it came from' section (origin story of makit). * docs(agents): hold the other standards to the same sentence limit The ASD-STE100 bullet now obeys its own rule, but two neighbours did not. The speed bullet packed three instructions into one sentence. The verified-bug bullet opened with 25 words. Split both into one instruction per line, in the style of the writing bullet. Meaning is unchanged. Every sentence in the file is now 20 words or fewer.
1 parent aefd5bb commit 6d5c046

2 files changed

Lines changed: 35 additions & 11 deletions

File tree

AGENTS.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,21 @@
22

33
## Coding Standards
44

5+
- Write prose in ASD-STE100 (Simplified Technical English).
6+
Use active voice and simple tenses.
7+
One instruction per sentence.
8+
Keep sentences ≤20 words.
9+
One word per meaning, no idioms.
10+
Applies to replies, commits, comments, error messages, UI copy, and docs.
11+
Code identifiers, commands, and paths stay verbatim.
12+
- Treat speed and memory as features.
13+
Keep the app and the server light.
14+
Prefer targeted updates over full rebuilds.
15+
Keep heavy work off the main thread.
16+
Measure before you claim a win.
517
- TDD: write a failing test before production logic (red → green → refactor).
618
- Apply SOLID; if you can't explain why a change respects each of the five principles, it probably violates one.
7-
- Never leave a verified bug unfixed: once a bug is confirmed real, fix it even when it lies outside the current diff or task scope. If fixing it right now is genuinely unsafe or too large, flag it explicitly instead of silently moving on.
8-
9-
## Cursor Cloud specific instructions
10-
11-
Standard build/run/test commands live in [`docs/DEVELOPMENT.md`](docs/DEVELOPMENT.md); this section only covers cloud-specific caveats. The update script already runs `pnpm install` (server) and `flutter pub get` (app) on startup.
12-
13-
- **Toolchain locations (Linux VM):** Flutter `3.44.4` is installed at `~/flutter` and is on `PATH` via `~/.bashrc`. Non-interactive shells may not source `~/.bashrc`, so use the absolute binary `~/flutter/bin/flutter` when a command can't find `flutter`. The server uses pnpm `11.8.0` via corepack (plain `npm install` is blocked by a preinstall guard); Node is 22.x.
14-
- **Server (`server/`) runs fully on Linux.** Lint = `pnpm typecheck` (there is no ESLint). `pnpm test`, `pnpm build`, and `pnpm dev`/`pnpm start` all work headless.
15-
- **App (`app/`) has no Linux GUI target** (iOS-first, plus macOS desktop / Android — all needing macOS or a device). On this VM only `flutter analyze --no-pub` (lint) and `flutter test --no-pub` are runnable; `flutter run` and the `app/tool/e2e.sh` simulator flows cannot run here.
16-
- **Keyless end-to-end server loop:** `pnpm exec tsx test/e2e-server.ts --mode stub --project <path>` starts the WSS server on port `9787` with the in-process `StubAdapter` (deterministic echo/STREAM/THINK replies — no LLM key, no `pi` binary) and seeds a paired device with bearer `e2e-token`. Drive it with any WSS client (`{t:"hello",bearer}``sub``send.message`). The real `pi`/`codex`/`claude` adapters need external agent binaries/API keys that are not present on the VM.
17-
- **Harmless startup noise:** the server prints `/bin/sh: 1: tailscale: not found` and falls back to a loopback-only listener — expected on the VM (no Tailscale).
19+
- Never leave a verified bug unfixed.
20+
Fix a confirmed bug even when it sits outside the current diff or task.
21+
If a fix is unsafe or too large right now, say so explicitly.
22+
Do not move on in silence.

README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,30 @@ _▶️ Demo video coming soon — see [`docs/media/`](./docs/media/) to add it.
3535
trust store needed.
3636
- 🔔 **Never miss a prompt.** Get notified when an agent is waiting on you
3737
(approval, a question, or a finished turn).
38+
-**Light on both ends.** A native client and a small Node server, built to
39+
stay quick and low on memory — your laptop keeps its battery and its fans.
3840

3941
📱 [`app/`](./app/) (Flutter client) · 🖥 [`server/`](./server/) (Node/TS server)
4042
· 📚 [UX](./docs/UX.md) · [Architecture](./docs/ARCHITECTURE.md) ·
4143
[Development runbook](./docs/DEVELOPMENT.md) · [Notifications](./docs/NOTIFICATIONS.md)
4244

45+
## Where it came from
46+
47+
I like terminal-first tools. [cmux](https://github.com/manaflow-ai/cmux) and
48+
[herdr](https://herdr.dev) are a joy on a desktop. But when I sat on the couch
49+
and drove my desktop through a terminal on my phone, it hurt: a tiny keyboard,
50+
small text, and panes that expect a mouse and a wide screen. A terminal is the
51+
wrong shape for a phone on the go. (I have not tried the SSH clients yet — they
52+
may well be better than I expect.)
53+
54+
So makit is not a terminal on a phone. It is a phone-shaped client for the
55+
agent that already runs on your desktop.
56+
57+
It does not beat the tools that inspired it. Orca, Cursor, herdr, cmux,
58+
Superconductor, Conductor, and t3code are all excellent, and makit is not on
59+
par with them. It is my own take: the parts that work for me, in the way I like
60+
to work. Thanks to all of them for the ideas.
61+
4362
## Quick start — Mac + iPhone over Tailscale
4463

4564
makit is **private by default**: it binds to your [Tailscale](https://tailscale.com)

0 commit comments

Comments
 (0)