Skip to content

feat: unify Agentation CLI/server lifecycle and remove MCP package#11

Open
alexgorbatchev wants to merge 8 commits intomainfrom
feat/agentation-go-cli
Open

feat: unify Agentation CLI/server lifecycle and remove MCP package#11
alexgorbatchev wants to merge 8 commits intomainfrom
feat/agentation-go-cli

Conversation

@alexgorbatchev
Copy link
Owner

@alexgorbatchev alexgorbatchev commented Mar 18, 2026

Summary

This PR migrates Agentation from the separate MCP package workflow to a unified Go CLI/server architecture in this repo.

Core changes

  • Introduces unified agentation lifecycle commands:
    • agentation start
    • agentation stop
    • agentation status
  • Runs server + router under a single PID by default
  • Supports disabling either service via env toggles:
    • AGENTATION_SERVER_ADDR=0
    • AGENTATION_ROUTER_ADDR=0
  • Keeps separate logs for stack/server/router
  • Migrates router implementation into cli/internal/router/*
  • Removes shell-out dependency on external agentation-router binary

Storage and config

  • Adds SQLite persistence in CLI server
  • Uses XDG data convention for default DB path
  • Renames API base env var to AGENTATION_BASE_URL (matches --base-url)

Docs and UX

  • Updates CLI help + docs for new lifecycle and env vars
  • Adds/updates skill docs for CLI annotation loop
  • Migrates docs site from /mcp to /server page and updates references
  • Removes mcp/ workspace package and related scripts
  • Updates CI/release workflows from router tags to cli-v*

Validation

  • cd cli && go test ./...
  • pnpm --filter feedback-tool-example build

Notes

  • PR is intentionally opened against this fork repo (alexgorbatchev/agentation) and not upstream.

Introduce a new Go CLI under cli/ with session, pending, ack/resolve/dismiss/reply, and watch commands.

Move CLI task runner targets into cli/justfile and remove root-level CLI targets.

Remove API key support from the CLI so it uses only the configured HTTP base URL.
Implement a local Agentation HTTP server in Go with sessions, annotations, pending queries, thread messages, action requests, and SSE event streams.

Add `agentation server` subcommands (serve/start/stop/status) with foreground/background behavior similar to router, and wire command routing/docs to expose the new workflow.
Add comprehensive tests for the Go HTTP API surface and CLI API client/watch logic.

Covers success/error branches across handlers, SSE streaming helpers, store lifecycle/subscriptions, and transport error paths.

Coverage now exceeds 90% for internal/server and internal/api.
Add SQLite-backed persistence to the Go Agentation server with XDG data path defaults and DB path overrides.

Improve server/frontend observability by logging session and annotation connect activity and handling shutdown with active SSE connections more robustly.

Update toolbar copy from MCP to Server terminology, wire Storybook stories to use the local server endpoint by default, and add the agentation-fix-loop skill for CLI-driven annotation processing.
Move router implementation into cli/internal/router and run it from the same agentation binary via internal lifecycle controls.

Remove external agentation-router module usage, delete router module files, and switch lifecycle orchestration to built-in server/router controllers.

Add AGENTATION_SERVER_ADDR support, update help/README examples, adjust nvim router auto-start defaults to use agentation start --router, and simplify the top-level justfile to build-cli.
- keep router_bin default as PATH-resolved "agentation"
- remove recursive router retry loop that caused repeated warnings
- make startup auto-connect failures silent
- show a single warning on manual :AgentationStart when router is unavailable
- document setting an absolute router_bin path in setup()
Refactor start/stop/status to manage one stack process that hosts server and router together by default, while allowing either service to be disabled via AGENTATION_SERVER_ADDR=0 or AGENTATION_ROUTER_ADDR=0.

Keep separate server/router log files under the single supervisor process, scope --base-url to API commands only, and rename AGENTATION_HTTP_URL to AGENTATION_BASE_URL for consistency.

Update CLI help, README docs, Neovim docs, and the agentation-fix-loop skill to match the new lifecycle and URL configuration model.
Delete the mcp workspace package and update workspace/scripts, CI workflows, and release tags to the CLI-based model (cli-v*).

Move docs and example site content from /mcp terminology and paths to local server/CLI workflows, including the new /server page and updated navigation.

Refresh supporting skills and hook docs to use agentation start plus CLI loop commands.
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.

1 participant