8000 feat(hosts): natural-language auto-trigger — a plain build intent runs as /aladdin by adeelahmad · Pull Request #34 · adeelahmad/aloop · GitHub
[go: up one dir, main page]

Skip to content

feat(hosts): natural-language auto-trigger — a plain build intent runs as /aladdin - #34

Merged
adeelahmad merged 1 commit into
masterfrom
claude/project-thread-qerfr9
Oct 18, 2026
Merged

adeelahmad merged 1 commit into
masterfrom
claude/project-thread-qerfr9

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Requested by Adeel · project thread

Before: ROADMAP §4.11 (M8, Aladdin 1.0) listed "natural-language auto-trigger inside hosts" as open. A user in an aloop project had to type /aladdin "<intent>" or /aloop themselves; a plain "add a CSV export to the report command" was answered as an ordinary chat request, outside the gated loop.

After: a plain build/fix request in an aloop project with no sprint running gets hook context telling the host to treat it as /aladdin "<intent>" (load the aladdin skill, run intake; the human still approves the plan). The hook stays quiet for questions, slash commands, short replies, a live sprint lock (the prompt is feedback to the running loop) and repos that are not aloop projects, and is switched off with ALADDIN_AUTO_TRIGGER=off or intent: {auto_trigger: false} in .aladdin/config.yaml. It always exits 0 and never writes a file. Works on Claude Code and Codex through hooks.json and on OpenCode through chat.message (the context goes into the next turn's system prompt).

How: plugin/bin/intent-trigger hook (python3, UserPromptSubmit) with a narrow imperative-verb / "I want" detector; intent.auto_trigger added to the config map and AUTO_TRIGGER to the ALADDIN_* alias keys. Test-first: scripts/test/intent-trigger.test.py (7 checks: trigger, silence cases, lock, switches, non-aloop repo, bad input, wiring). bin/README, SKILL.md hook lifecycle, OVERVIEW, ROADMAP §4.11 + M8 row and CHANGELOG updated. make ci: 60/60; OpenCode plugin test 20/20.


Generated by Claude Code

…s as /aladdin

ROADMAP §4.11 (M8) listed "natural-language auto-trigger inside hosts" as open.
`bin/intent-trigger hook` on UserPromptSubmit adds context to treat a plain build/fix
request as `/aladdin "<intent>"` when it lands in an aloop project (docs/agents/ or a
run-data dir) with no live sprint lock. It stays quiet for questions, slash commands,
short replies, a live sprint (the prompt is feedback to the running loop) and non-aloop
repos, and is switched off with ALADDIN_AUTO_TRIGGER=off or `intent: {auto_trigger:
false}` in .aladdin/config.yaml. Always exit 0, never writes a file. Wired in hooks.json
(Claude Code, Codex) and in the OpenCode plugin (chat.message → next turn's system
prompt). Test-first: scripts/test/intent-trigger.test.py (7 checks). bin/README,
SKILL.md, OVERVIEW, ROADMAP §4.11 and M8, CHANGELOG updated. make ci: 60/60.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015QxyVf3NgwsgRyYpBgDDTC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0