aboutsummaryrefslogtreecommitdiff
path: root/website/agent-detection
diff options
context:
space:
mode:
authorTony Solomonik <tony.solomonik@gmail.com>2026-07-11 01:19:51 +0300
committerGitHub <noreply@github.com>2026-07-11 01:19:51 +0300
commit3b8aeee166d1594e1f8e41631a51748104d76834 (patch)
treeed48557099286612d8851f4036aaf12eea4b37c0 /website/agent-detection
parent15c046a1bd08d0bb485ccbe20d5ff0c3d7bc8554 (diff)
feat: add maki agent support (#1302)
* feat: add maki detection support Maki always draws a one-line status bar at the bottom of the screen, so the manifest reads just that row: a braille spinner before the `[BUILD]`/`[PLAN]`/`[BASH]` mode label means working, the bare label means idle. Blocked states come from the panels that replace the input box, the `Permission Required` dialog with its `y Allow`/`n Deny` hint rows and the `Plan complete` form. Maki emits no OSC title or progress, so these screen rules are the only evidence. Also wires `maki` through process-name identification, per-agent sound overrides, and the website manifest catalog. * docs: stage maki detection docs
Diffstat (limited to 'website/agent-detection')
-rw-r--r--website/agent-detection/index.toml4
-rw-r--r--website/agent-detection/maki.toml68
2 files changed, 72 insertions, 0 deletions
diff --git a/website/agent-detection/index.toml b/website/agent-detection/index.toml
index 7c6fbfa8..fba996ea 100644
--- a/website/agent-detection/index.toml
+++ b/website/agent-detection/index.toml
@@ -57,6 +57,10 @@ id = "kiro"
path = "kiro.toml"
[[agents]]
+id = "maki"
+path = "maki.toml"
+
+[[agents]]
id = "opencode"
path = "opencode.toml"
diff --git a/website/agent-detection/maki.toml b/website/agent-detection/maki.toml
new file mode 100644
index 00000000..5c58404a
--- /dev/null
+++ b/website/agent-detection/maki.toml
@@ -0,0 +1,68 @@
+id = "maki"
+version = "2026.07.09.2"
+min_engine_version = 1
+updated_at = "2026-07-09T00:00:00Z"
+
+# Maki renders a persistent one-line status bar on the bottom row. It starts
+# with the mode label "[BUILD]", "[PLAN]", or "[BASH]" when idle and gets a
+# leading braille spinner cell while the agent is streaming. Permission
+# requests and the plan-complete form replace the input box above the status
+# bar. Maki does not set OSC title or OSC 9;4 progress.
+
+[[rules]]
+id = "permission_prompt"
+state = "blocked"
+priority = 980
+region = "whole_recent"
+visible_blocker = true
+contains = ["permission required"]
+any = [
+ { contains = ["y allow", "n deny"] },
+ { contains = ["confirm allow"] },
+ { contains = ["confirm deny"] },
+ { contains = ["enter deny", "esc cancel"] },
+]
+
+[[rules]]
+id = "plan_complete_form"
+state = "blocked"
+priority = 970
+region = "whole_recent"
+visible_blocker = true
+contains = ["plan complete", "enter confirm"]
+any = [
+ { contains = ["space toggle parallel"] },
+ { contains = ["edit plan"] },
+]
+
+[[rules]]
+id = "status_bar_spinner_working"
+state = "working"
+priority = 900
+region = "bottom_non_empty_lines(1)"
+visible_working = true
+line_regex = ['^( [\x{2800}-\x{28FF}]){1,2} \[(BUILD|PLAN|BASH)\]']
+
+[[rules]]
+id = "status_bar_idle"
+state = "idle"
+priority = 850
+region = "bottom_non_empty_lines(1)"
+visible_idle = true
+line_regex = ['^ \[(BUILD|PLAN|BASH)\]']
+
+# On narrow panes the right side of the status bar overwrites the mode label,
+# so fall back to the prompt chevron above the input box border. The not-gates
+# keep this from matching the streaming placeholder or a status bar that still
+# shows the spinner.
+[[rules]]
+id = "prompt_box_idle"
+state = "idle"
+priority = 840
+region = "bottom_non_empty_lines(3)"
+visible_idle = true
+line_regex = ['^❯ ']
+not = [
+ { contains = ["queue another prompt"] },
+ { line_regex = ['^( [\x{2800}-\x{28FF}]){1,2} '] },
+]