Cli

io.github.aligndottech由 GitHub 帳號 aligndottech 發布v0.68.1更新於 Nov 7, 2026

Cross-tool decision memory for AI coding agents: search your decision graph, check changes over MCP.

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

Align 的在地 CLI 透過 MCP 提供團隊決策圖譜,讓編碼助理在改動程式碼前先查清程式碼為何如此。

可以做什麼
  • 檢索決策圖譜,取得附來源的答案,了解某段程式碼或某個檔案的來龍去脈
  • 在寫入前,用已記錄的決策檢查擬議或已暫存的變更
  • 從 Git 歷史、GitHub、GitLab、Jira、Confluence、Linear、Notion、Slack、Teams 與 Zoom 唯讀匯入決策
  • 把圖譜接入編輯器與助理,包含編輯掛鉤、編輯器規則與共用的專案設定
  • 檢視並復原安裝時寫入的內容,並執行診斷
適用情境
適用於助理要修改既有程式碼庫、而其決策理由散落在提交、工單與聊天紀錄而非註解中的情況,希望它在改寫某一行前停下來並引用相關決策。
執行需求
以在地 CLI 形式執行,可從 npm 安裝(需 Node 22.19+),或使用 macOS、Linux、Windows 的獨立二進位檔;僅限桌面端。需在 git 儲存庫中執行。在地圖譜不需帳號;團隊圖譜需要邀請與登入。終端問答與阻擋式檢查可選用 AI 金鑰(Anthropic、OpenAI、Gemini 等)或在地 Ollama 模型。
安裝前請注意
安裝會寫入檔案,包括專案之外的助理設定與使用者層級掛鉤,寫入前會先詢問;沒有終端時除非傳入 --approve 否則不寫入。編輯掛鉤預設僅供提示,Align 變慢或出錯時變更照常進行。設定 AI 金鑰或 Ollama 後,問題及最多 2,000 字元的擬議變更會傳送給你的模型供應商。在地模式會傳送匿名使用次數,可用 telemetry off 關閉。仍為 1.0 之前的測試版。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Cli,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Align CLI

[npm version] [CI] [License: MIT] [Node]

Your AI agents know the code. They don't know the company.

Align collects your team's decisions from commits, tickets, chat and meetings into one graph. Your coding agent can look up the decisions behind the code, and where each one came from, before it changes it.

bash
npm install -g @aligndottech/clialign

No Node? curl -fsSL https://align.tech/install.sh | sh installs a standalone binary instead.

[The same prompt to Claude Code, without Align and with it]

The same prompt, two real runs on Align's own repo (14 Oct 2026). The text is copied from those runs and shortened. The GIF replays it, so it isn't a live session (how). Without Align the agent plans to skip signature checks; with it, the agent stops and cites the decision that ruled that out.

Run it in a git repo. The first run builds a graph from your commit history. After that, align opens Align's own coding agent over that graph, and refreshes connected sources in the background, at most every 15 minutes per source (align sync --off turns that off).

You choose what runs behind it:

  • Your own API key (Anthropic, OpenAI, Gemini and others, set with align ai), or a local model through Ollama.
  • Your own Claude Code. Anthropic does not let other apps use a Claude subscription, so with no key Align drives your installed Claude Code and you stay on your plan. Align never sees your Claude login.

align --engine align or align --engine claude picks one, and Align remembers it. Every edit is checked against the graph before it is written. An edit that rewrites lines a decision wrote waits for you to allow it or stop it.

Prefer your agent's own interface? align -- <args> still opens it with the graph connected.

MIT, no account needed. Beta, pre-1.0.

Try it on a repo you didn't write

Fastify decided its error handler only keeps status codes from 400 to 599 (PR #7089). Nothing in the code says why. Ask your agent to undo it and see what happens:

bash
git clone https://github.com/fastify/fastify && cd fastifyalign                     # builds the graph from git history, then opens Align

Then, in Align:

text
Errors with a 1xx-3xx statusCode currently fall back to 500.Change lib/error-status.js so they keep their status code.

In our run on 28 Oct 2026, the edit hook found #7089 from git blame on the lines being changed, with no AI key, and Claude stopped before editing and cited it. On 4 Nov 2026, on 0.66.1, Claude asked Align over MCP before it tried an edit, so the hook never fired. It cited #7089 and #601 (2018: "do not allow set status code to lower than 400"), changed nothing, and asked what to do. Models are not deterministic, so your run may word it differently.

On 6 Nov 2026 we ran the same prompt in Align's own agent, once on Claude Code and once on an OpenAI key. Both times the agent tried the edit, Align found #7089 from git blame and asked first, and after "stop" the agent cited #7089 and changed nothing.

Install

  • npm: npm install -g @aligndottech/cli (Node 22.19+).
  • macOS / Linux, no Node: curl -fsSL https://align.tech/install.sh | sh installs a standalone binary and checks it against the release checksums. Read install.sh first if you like.
  • Windows: npm in PowerShell. The curl line needs a POSIX shell (Git Bash or WSL). Without Node, download align-windows-x64.exe (or -arm64) from the releases page, rename it to align.exe and put it on your PATH.

More in docs/installation.md.

How it works

  1. Import. Reads decisions from Git (commits that state a reason), GitHub, GitLab, Jira, Confluence, Linear, Notion, Slack, Teams and Zoom. Read-only.
  2. Link. Records what was decided, why and by whom. Related decisions surface as related. Telling replaced from conflicting needs an AI key locally, or a team graph.
  3. Check. Your agent queries the graph over MCP, an edit hook, CI or align ask.

align wires it in four ways, so the check runs whether or not the model thinks to ask:

MCP serverClaude Code, Cursor, Claude Desktop, VS Code, Windsurf, Zed, Codex, Copilot CLI, Gemini CLI, pi, OpenCode
Edit hooksEach edit is checked against the graph. Advisory by default. Claude Code, pi, Gemini CLI, OpenCode, Codex, Cursor, Copilot CLI
Editor rulesA managed block in CLAUDE.md, AGENTS.md and .cursor/rules/align.md
Shared .mcp.jsonOne committed file sets up the whole team

Before writing anything, setup lists every file it will create or change, with files outside your project (an agent's own config, user-level hooks) under their own heading, and asks. With no terminal to ask in (an agent's shell, CI) it writes nothing unless you pass --approve.

To undo everything align wrote, run align use --undo.

The hook never blocks on a model's judgement unless you turn blocking on, and that needs an AI key. One thing can deny without it, on a team graph: a rule your team ratified (secrets, card numbers, emails), when the edit contains one. If Align is slow, errors or times out, the edit goes ahead. If you uninstall align, rerun align mcp --setup: an older Copilot CLI hook file can deny edits until it is rewritten.

Hook limits worth knowing:

  • Cursor, Copilot CLI and Gemini CLI only hand the result to the model after the edit lands. That's a limit of their hook APIs.
  • Only Claude Code's hook has been run in a live session. pi, Gemini CLI and OpenCode are written from the vendors' docs or source, and Codex, Cursor and Copilot CLI have not been checked against a real payload. The last three read hooks from a user-level file (~/.codex/hooks.json, ~/.cursor/hooks.json, ~/.copilot/hooks/align.json).
  • pi's MCP entry needs the third-party pi-mcp-adapter package installed in pi. pi also blocks a repo's MCP servers until you trust the project, and Align's entry counts as one, so accept pi's trust prompt or Align's tools won't load. pi -p skips the prompt and runs without them.
  • Claude Code asks you to approve a committed hook the first time. Accept, or it won't run.

Per-host details.

Your first five minutes

Setup ends with three prompts to type into your agent, built from your own repo:

text
1. why did we switch to postgres?                     learn why the code is the way it is2. what was decided about src/db/pool.ts?             before you touch a file3. Plan a change that reverses "switch to postgres".  watch the agent stop and cite the decision   Check it with Align before writing anything.

After that the check runs on its own on every edit, and the agent tells you in one line when it found a related decision. Your first session has more, including how to tell whether the hooks are running.

Everyday commands

bash
align                                # set up, or see your graph and what to do nextalign ask "how does our auth work"   # an answer, with sourcesalign ask src/auth/session.ts        # decisions about a filealign connect                        # pick a source to import: git, docs, jira, github, ...align connect jira --token ...       # import one source directlyalign check                          # check your staged diff against the graphalign mcp --setup                    # wire your agent to the graph

align --help lists ask, connect, check, share (alias push), mcp and agents. The rest (search, decisions, stale, export, ratify, context, ...) still work and are in docs/commands.md.

Something not working? align doctor checks Node, that align is on your PATH, that the gateway answers, that your token is accepted, and that one real question comes back through align mcp. It names the next step for each failure and exits non-zero if any check fails. It sends no telemetry.

Inside your agent, the agent writes the answers, so you don't need an AI key. Only align ask in a terminal writes its own. Give it a key (Anthropic, OpenAI, OpenRouter, Gemini, Groq, Mistral or xAI), a local Ollama, or any OpenAI-compatible endpoint. Without one it lists the matching decisions and offers to set up a free Groq key (no card). With several, align ai picks one. Setting one up.

Privacy and telemetry

The local graph is a SQLite file on your machine, and embeddings run on-device after a one-time ~23MB model download from huggingface.co. In local-only mode your decisions and code never go to Align. If you set an AI key or run Ollama, align ask sends your question plus the titles and summaries of the decisions it found, and align check sends up to 2,000 characters of the proposed change, to your provider and not to Align (the MCP check does the same). Ollama counts as yours, wherever OLLAMA_HOST points. Team graphs are hosted by Align, or self-hosted, so the team can share them.

Local-only mode sends anonymous usage counts. It tells you once before the first one and sends nothing from CI. Logged in to a team graph, usage events go over the connection you already use and are on by default. Either way, align telemetry off stops them. What touches the network and every field we send.

Teams

Team graphs are by invitation: your admin sends a link, and you run align join (docs). Already have a team graph? Run align login, then align. Setup connects your tools with read-only OAuth and wires up your editors. Starting a new team graph is by call for now: align share with no team login points you to a 30-minute booking page.

A personal email doesn't get a cloud graph, so solo use is the local graph. Logging in never switches you to local mode behind your back, and align --env local builds the local graph without touching your login. Joining your team.

Docs

Installingnpm, the binary, Windows
Your first sessionThree prompts, and how to tell the check is running
Join your team's graphalign join, hosted and self-hosted
ImportingEvery source, tokens, flags
Alignment checkModes, exit codes, CI, the GitHub Action
Cloud or local-onlyWhat runs where, what touches the network
TelemetryEvery event and field, and how to turn it off
MCP serverEditor config, the tools your agent gets
ConfigurationAI providers, env vars, auth, self-hosting
Agent hooksWhat each host can and can't do
Choosing an access pathAPI, CLI JSON or MCP, and why
All commandsFull reference

Why bother

One published study gave a coding agent the product decisions on record and saw decision compliance go from 46% to 95% (Dillon & Varanasi, arXiv:2605.08112). It's a small vendor study, 8 tasks and 41 decision points, and it isn't our data.

Our own benchmark is on our own repos: 29 decisions, every answer labelled by a person. With Align the agent followed the current decision in 139 of 145 runs, with read-only repo search 96 of 145, and with no tools 34 of 145. Where the decision was never written in the code, it was 29 of 30 against 5 of 30. It's dogfood, not customer data, and the product was tuned on these tasks. Method and raw results.

Wiring context into an agent is the easy part, and that's what this repo is. The hard part is keeping an accurate record of what your team actually decided, across every tool.

Want a hand setting it up? I do free 30-minute calls: https://calendly.com/tom-align/setup

License

MIT, see LICENSE. The CLI, the MCP server and the connector SDK are open source. The hosted team product is a separate commercial service.

來源:README.md,提交 80dd536

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

32
  1. v0.68.1最新Nov 7, 2026
  2. v0.67.1Nov 4, 2026
  3. v0.67.0Nov 4, 2026
  4. v0.66.1Nov 3, 2026
  5. v0.66.0Oct 29, 2026
  6. v0.65.0Oct 25, 2026
  7. v0.64.1Oct 25, 2026
  8. v0.63.0Oct 21, 2026
  9. v0.62.0Oct 21, 2026
  10. v0.61.0Oct 20, 2026
  11. v0.60.0Oct 19, 2026
  12. v0.58.0Oct 19, 2026
  13. v0.57.1Oct 18, 2026
  14. v0.57.0Oct 18, 2026
  15. v0.55.1Oct 15, 2026
  16. v0.54.0Oct 13, 2026
  17. v0.53.1Oct 12, 2026
  18. v0.52.0Oct 12, 2026
  19. v0.51.0Oct 12, 2026
  20. v0.50.0Oct 10, 2026
  21. v0.49.0Oct 10, 2026
  22. v0.48.0Oct 9, 2026
  23. v0.47.0Oct 9, 2026
  24. v0.46.1Oct 8, 2026
  25. v0.46.0Oct 8, 2026
  26. v0.45.0Oct 4, 2026
  27. v0.42.0Sep 23, 2026
  28. v0.41.0Sep 22, 2026
  29. v0.40.2Sep 20, 2026
  30. v0.40.1Sep 19, 2026
  31. v0.39.0Sep 17, 2026
  32. v0.38.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分