Skip to content

archlang mcp changelog

io.github.chanmeng666/archlang-mcp

27 changes recorded. MCP Harbor re-reads this listing from the official registry every six hours and asks the live server what it exposes, and keeps what changed between one look and the next.

  • server.json 1 field changed
    version
    0.2.43 0.2.44
  • server.json 1 field changed
    version
    0.2.42 0.2.43

  • server.json 1 field changed
    version
    0.2.41 0.2.42
  • server.json 4 fields changed
    description
    ArchLang: compile, describe, lint, validate, score, repair, fix, finish, suggest, complete, link. Floor plans as code: compile, lint and repair ArchLang (.arch) floor plans to SVG, DXF and PDF.
    remote_url
    — https://mcp.archlang.uk/mcp
    transport
    stdio streamable-http
    version
    0.2.40 0.2.41

  • AGENTS.md +15 −8

    https://raw.githubusercontent.com/chanmeng666/archlang/HEAD/AGENTS.md

    − npm run check         # typecheck + lint + test-wiring + vitest (floor)− npm run check:drift   # generated artifacts == generator output (CI gate)− npm run typecheck:all # the only typecheck that compiles test/ and the workspaces−   only in the private `packages/archlang-3d`, never a core dependency (`.claude/rules/archlang-3d.md`).− - Eval: T3 live run declined forever; `eval:live` is paid, owner-only; holdout never published;− `src/index.ts` public surface · `docs/adr/` decisions · `docs/backlog.md` open work · `docs/plans/` programmes · `.claude/rules/` path-scoped rules (auto-loaded).− Conventional Commits. `AGENTS.md` + `CLAUDE.md` ≤ 5,000 bytes together (`wc -c`); detail goes in− `docs/agents/`.+ npm run check:quick   # local pre-push: changed files, nearest tests (CI runs the rest)+ npm run check         # typecheck + lint + test-wiring + vitest (CI only)+ npm run check:drift   # generated artifacts == generator output (CI only)+ npm run typecheck:all # CI only; the one typecheck that compiles test/ + workspaces+ ## How to work+ - Prove a change through the CLI (`arch compile|describe|lint --json`), not by eyeballing SVG.+ - Local gate is exactly `check:quick` (+ `docs:build` for docs), then push. `check`, drift,+   `typecheck:all`, vitest runs, e2e and bench are CI's; only CI green is merge evidence. A hook+   blocks them (`.claude/hooks/local-gate.mjs`). Executor briefs list only the local gate.+ - Commit or push only when asked. Merge by risk tier (`docs/agents/commands.md` § Merging a PR).+   only in the separate `packages/archlang-3d`, never a core dependency (`.claude/rules/archlang-3d.md`).+ - Eval: T3 live run declined forever; `eval:live` is paid, owner-only; the eval corpus is a public fixture, never a holdout;+ `src/index.ts` public surface · `REVIEW.md` what a bad diff looks like · `docs/adr/` decisions · `docs/backlog.md` open work · `docs/plans/` programmes · `.claude/rules/` path-scoped rules (auto-loaded).+ Conventional Commits. This is the only root instruction file; `CLAUDE.md` just imports it;+ path-scoped rules go in `.claude/rules/`. Together ≤ 5,000 bytes (`wc -c`); detail goes in `docs/agents/`.
  • llms.txt +12 −1

    https://archlang.uk/llms.txt

    − npx -y @chanmeng666/archlang context --section spec   # ...or one section only: spec | workflow | cli | errors (about 145 KB in all; the catalog alone is about 60 KB)+ - 3D preview: the separate archlang-3d package extrudes the compiled plan; https://archlang.uk/3d+ <!-- doors:start -->+ ## Try it+ Floor plans as code. Your AI writes ArchLang; the compiler draws a precise, dimensioned plan and tells it what's wrong.+ - **ChatGPT, no install:** [ArchLang app in ChatGPT](https://chatgpt.com/plugins/plugin_asdk_app_6acf8381cca08191bfb3eb7305fb6970)+ - **claude.ai, no install:** add `https://mcp.archlang.uk/mcp` as a custom connector+ - **Coding agent:** `claude mcp add --transport http archlang https://mcp.archlang.uk/mcp`, or `npx -y skills add ChanMeng666/archlang --yes`+ - **VS Code:** [Marketplace](https://marketplace.visualstudio.com/items?itemName=ChanMeng.archlang) or [Open VSX](https://open-vsx.org/extension/ChanMeng/archlang)+ - **Playground, in the browser:** https://playground.archlang.uk+ <!-- doors:end -->+ - Agent-facing docs pages: [the MCP server](https://archlang.uk/mcp) (install it in each MCP host, local or hosted at `https://mcp.archlang.uk/mcp`) and [the JavaScript library](https://archlang.uk/javascript) (`compile`/`describe`/`lint` from Node or the browser); each also serves its raw markdown at `<route>.md`+ npx -y @chanmeng666/archlang context --section spec   # ...or one section only: spec | workflow | cli | errors (about 160 KB in all; the catalog alone is about 67 KB)
  • server.json 1 field changed
    version
    0.2.39 0.2.40
  • server.json 1 field changed
    version
    0.2.38 0.2.39

  • server.json 1 field changed
    version
    0.2.37 0.2.38

  • server.json 1 field changed
    version
    0.2.29 0.2.37

  • AGENTS.md +4 −2

    https://raw.githubusercontent.com/chanmeng666/archlang/HEAD/AGENTS.md

    − - Heights draw nothing; `--view` measures nothing (`describe()`/`lint()` never learn it).− - A drawing change never moves `describe()`/`lint()` over the corpus; a glyph never gains+ - Heights draw nothing; `--view` measures nothing (`describe()`/`lint()` never learn it). 3D lives+   only in the private `packages/archlang-3d`, never a core dependency (`.claude/rules/archlang-3d.md`).+ - A drawing change never moves `describe()`/`lint()` over the corpus, except drafting-layer lint+   rules, which read the sheet (ADR 0032; `docs/agents/iron-laws.md`); a glyph never gains
  • llms.txt +1 −1

    https://archlang.uk/llms.txt

    − npx -y @chanmeng666/archlang context --section spec   # ...or one section only: spec | workflow | cli | errors (about 117 KB in all; the catalog alone is about 44 KB)+ npx -y @chanmeng666/archlang context --section spec   # ...or one section only: spec | workflow | cli | errors (about 145 KB in all; the catalog alone is about 60 KB)

  • server.json 1 field changed
    version
    0.2.27 0.2.29
  • server.json 1 field changed
    version
    0.2.26 0.2.27

  • AGENTS.md +1 −1

    https://raw.githubusercontent.com/chanmeng666/archlang/HEAD/AGENTS.md

    − `src/index.ts` public surface · `docs/adr/` decisions · `docs/backlog.md` open work · `.claude/rules/` path-scoped rules (auto-loaded).+ `src/index.ts` public surface · `docs/adr/` decisions · `docs/backlog.md` open work · `docs/plans/` programmes · `.claude/rules/` path-scoped rules (auto-loaded).
  • llms.txt +1 −1

    https://archlang.uk/llms.txt

    − npx -y @chanmeng666/archlang context --section spec   # ...or one section only: spec | workflow | cli | errors (about 109 KB in all; the catalog alone is about 32 KB)+ npx -y @chanmeng666/archlang context --section spec   # ...or one section only: spec | workflow | cli | errors (about 117 KB in all; the catalog alone is about 44 KB)

  • server.json 1 field changed
    version
    0.2.25 0.2.26

  • llms.txt +36 −32

    https://archlang.uk/llms.txt

    − > A small declarative language that compiles to professional SVG floor plans — like Typst/LaTeX, but for architecture.− - [spec.llm.md](https://github.com/chanmeng666/archlang/blob/main/spec.llm.md): the WHOLE language in one page (~2k tokens) — read this to author `.arch`− - [SKILL.md](https://github.com/chanmeng666/archlang/blob/main/SKILL.md): the agent skill — how to drive ArchLang via the CLI− - [/plan.schema.json](https://archlang.uk/plan.schema.json): JSON Schema (2020-12) for **Plan JSON** — the structured compile input (`arch compile --from-json`)− - [/intent.schema.json](https://archlang.uk/intent.schema.json): JSON Schema (2020-12) for an **Intent** — a brief's checkable expectations as data (`arch validate --intent` / `arch score --brief`)− - **Append `.md` to any generated doc route for raw markdown**: e.g. [/spec.md](https://archlang.uk/spec.md), `/reference.md`, `/errors.md`, `/analysis.md`, `/furniture.md`− ArchLang is agent-native via its CLI — no server required, nothing to configure (an optional MCP shim exists for MCP-native clients; the CLI stays primary):− npx @chanmeng666/archlang context              # cold start: the whole bundled agent context (spec + skill + CLI + errors) in one call− npx @chanmeng666/archlang context --section spec   # ...or one section only: spec | workflow | cli | errors (the catalog alone: 60KB → 13KB)− npx @chanmeng666/archlang spec                 # learn the whole language (read this first)− npx @chanmeng666/archlang help compile         # per-command help + worked examples, rendered from the manifest (`arch <cmd> --help` works too)− npx @chanmeng666/archlang manifest --json      # the whole CLI API as data: commands, flags, formats, lint rules, error codes− npx @chanmeng666/archlang --version            # the core version, for a bug report or a capability check− npx @chanmeng666/archlang compile plan.arch -o out.svg --json   # render; JSON: { ok, diagnostics, summary }− npx @chanmeng666/archlang preview plan.arch -o out.png --json   # render a PNG to SHOW the user (zero-install where resvg is present; --install fetches it)− npx @chanmeng666/archlang describe plan.arch --json             # verify: rooms, areas, adjacency, door connections, circulation− npx @chanmeng666/archlang describe plan.arch --select rooms,totals --room kitchen,bath --json   # bounded read: only those keys / those rooms− npx @chanmeng666/archlang lint plan.arch --json                 # architectural soundness warnings− npx @chanmeng666/archlang lint plan.arch --code W_ROOM_UNREACHABLE --json   # bounded read: one code (or --severity error) — a DISPLAY filter; the exit code still weighs every diagnostic− npx @chanmeng666/archlang validate plan.arch --strict --json    # parse + lint, no render; --strict fails on warnings (the ship gate)− npx @chanmeng666/archlang fix plan.arch --dry-run --json        # preview the machine-applicable diagnostic fixes AND the exact unified diff they produce− npx @chanmeng666/archlang fix plan.arch --backup --json         # apply them in place, keeping the original bytes as plan.arch.bak (fix rewrites your SOURCE)− npx @chanmeng666/archlang suggest plan.arch --json              # advisory door/window topology statements for unreachable rooms / windowless bedrooms− npx @chanmeng666/archlang score plan.arch --brief intent.json --json   # continuous intent-satisfaction meter against a brief (satisfied/total; exit 0)− npx @chanmeng666/archlang repair plan.arch -o fixed.arch        # explicit corrector: furniture out of walls/doorways/swings + change log− npx @chanmeng666/archlang compile plan.arch -o walk.svg --overlay circulation   # opt-in: draw the walkability routes on top− npx @chanmeng666/archlang batch a.arch b.arch -f svg --json     # render many plans/variants at once → results[]− npx @chanmeng666/archlang md notes.md -o out.md -f svg          # render fenced arch blocks in Markdown → image links− `lint --json` to confirm soundness. `arch <cmd> --help` is the cheap way to learn one command;− [SKILL.md](https://github.com/chanmeng666/archlang/blob/main/SKILL.md).− a typo'd `--jsn` on `lint` answers `error: unknown flag "--jsn" for \`arch lint\` — did you mean− ignores its `label` (the catalogue is `arch manifest --json` → `fixtureCategories`; the escape hatch+ > A deterministic DSL and compiler for floor plans: write (or have an LLM write) `.arch` source and it compiles to SVG/DXF/PDF with linting and geometric validation — diffable, version-controllable, reproducible.+ - [spec.llm.md](https://github.com/chanmeng666/archlang/blob/main/spec.llm.md): the WHOLE language in one page — read this to author `.arch`+ - [SKILL.md](https://github.com/chanmeng666/archlang/blob/main/skills/archlang/SKILL.md): the agent skill — how to drive ArchLang via the CLI+ - [/plan.schema.json](https://archlang.uk/plan.schema.json): JSON Schema (2020-12) for **Plan JSON** — the structured compile input (`archlang compile --from-json`)+ - [/intent.schema.json](https://archlang.uk/intent.schema.json): JSON Schema (2020-12) for an **Intent** — a brief's checkable expectations as data (`archlang validate --intent` / `archlang score --brief`)+ - **Append `.md` to any top-level docs route for raw markdown** (the home page's copy is `/index.md`; the `/adr/…` pages have none): e.g. [/spec.md](https://archlang.uk/spec.md), [/guide.md](https://archlang.uk/guide.md), [/agents.md](https://archlang.uk/agents.md), `/reference.md`, `/errors.md`, `/analysis.md`, `/furniture.md`+ - [/arch-plan.js](https://archlang.uk/arch-plan.js): the `<arch-plan>` web component, which compiles and draws a plan in the browser (`<arch-plan src="https://archlang.uk/examples/studio.arch">`); to compile from your own page script, e.g. in a Claude Code artifact, import `compile` from `https://cdn.jsdelivr.net/npm/@chanmeng666/archlang@<version>/+esm`. Both on [/embed](https://archlang.uk/embed)+ ArchLang is agent-native via its CLI — no server required, nothing to configure (an optional MCP shim exists for MCP-native clients; the CLI stays primary).+ Write `npx -y @chanmeng666/archlang <cmd>`, or `archlang <cmd>` after `npm i -g @chanmeng666/archlang`.+ The unscoped npm name `archlang` is someone else's package, and a bare `arch` runs coreutils on+ Linux, macOS and Git Bash.+ npx -y @chanmeng666/archlang context              # cold start: the whole bundled agent context (spec + skill + CLI + errors) in one call+ npx -y @chanmeng666/archlang context --section spec   # ...or one section only: spec | workflow | cli | errors (about 109 KB in all; the catalog alone is about 32 KB)+ npx -y @chanmeng666/archlang spec                 # learn the whole language (read this first)+ npx -y @chanmeng666/archlang help compile         # per-command help + worked examples, rendered from the manifest (`archlang <cmd> --help` works too)+ npx -y @chanmeng666/archlang manifest --json      # the whole CLI API as data: commands, flags, formats, lint rules, error codes+ npx -y @chanmeng666/archlang --version            # the core version, for a bug report or a capability check+ npx -y @chanmeng666/archlang compile plan.arch -o out.svg --json   # render; JSON: { ok, diagnostics, summary }+ npx -y @chanmeng666/archlang preview plan.arch -o out.png --json   # render a PNG to SHOW the user (zero-install where resvg is present; --install fetches it)+ npx -y @chanmeng666/archlang describe plan.arch --json             # verify: rooms, areas, adjacency, door connections, circulation+ npx -y @chanmeng666/archlang describe plan.arch --select rooms,totals --room kitchen,bath --json   # bounded read: only those keys / those rooms+ npx -y @chanmeng666/archlang lint plan.arch --json                 # architectural soundness warnings+ npx -y @chanmeng666/archlang lint plan.arch --code W_ROOM_UNREACHABLE --json   # bounded read: one code (or --severity error) — a DISPLAY filter; the exit code still weighs every diagnostic+ npx -y @chanmeng666/archlang validate plan.arch --strict --json    # parse + lint, no render; --strict fails on warnings (the ship gate)+ npx -y @chanmeng666/archlang fix plan.arch --dry-run --json        # preview the machine-applicable diagnostic fixes AND the exact unified diff they produce+ npx -y @chanmeng666/archlang fix plan.arch --backup --json         # apply them in place, keeping the original bytes as plan.arch.bak (fix rewrites your SOURCE)+ npx -y @chanmeng666/archlang suggest plan.arch --json              # advisory door/window topology statements for unreachable rooms / windowless bedrooms+ npx -y @chanmeng666/archlang score plan.arch --brief intent.json --json   # continuous intent-satisfaction meter against a brief (satisfied/total; exit 0)+ npx -y @chanmeng666/archlang repair plan.arch -o fixed.arch        # explicit corrector: furniture out of walls/doorways/swings + change log+ npx -y @chanmeng666/archlang compile plan.arch -o walk.svg --overlay circulation   # opt-in: draw the walkability routes on top+ npx -y @chanmeng666/archlang batch a.arch b.arch -f svg --json     # render many plans/variants at once → results[]+ npx -y @chanmeng666/archlang md notes.md -o out.md -f svg          # render fenced arch blocks in Markdown → image links+ `lint --json` to confirm soundness. `archlang <cmd> --help` is the cheap way to learn one command;+ [SKILL.md](https://github.com/chanmeng666/archlang/blob/main/skills/archlang/SKILL.md).+ a typo'd `--jsn` on `lint` answers `error: unknown flag "--jsn" for \`archlang lint\` — did you mean+ ignores its `label` (the catalogue is `archlang manifest --json` → `fixtureCategories`; the escape hatch

  • server.json 2 fields changed
    description
    Compile, describe, lint, validate, score, repair, fix, finish, suggest and complete ArchLang plans. ArchLang: compile, describe, lint, validate, score, repair, fix, finish, suggest, complete, link.
    version
    0.2.24 0.2.25

  • server.json 2 fields changed
    description
    Compile, describe, lint, validate, score and repair multi-storey and curved ArchLang floor plans. Compile, describe, lint, validate, score, repair, fix, finish, suggest and complete ArchLang plans.
    version
    0.2.22 0.2.24

  • AGENTS.md +10 −2

    https://raw.githubusercontent.com/chanmeng666/archlang/HEAD/AGENTS.md

    − - New element = one `src/elements/` module registered in `defs.ts`, no switch. New fixture category =−   a `FIXTURE_FAMILIES` row + a `CATALOG` entry; a drawn symbol ignores its `label`.+ - `compile()` is bounded: every input returns within the step budget and the drawing budget. Charge+   new evaluator work to the step meter BEFORE allocating (`MAX_EVAL_STEPS`, `E_STEP_LIMIT`,+   `src/expr.ts`); budgets are counts, never time. Every coordinate/length stays within+   `MODEL_RANGE_MM` (`src/num-format.ts`, `E_OUT_OF_RANGE`).+ - New element = one `src/elements/` module registered in `defs.ts`, no switch; it declares+   `drawCost` (an upper bound on what it draws) and `bounds()`/`measures()` covering every coordinate+   and length it draws. New fixture category = a `FIXTURE_FAMILIES` row + a `CATALOG` entry; a drawn+   symbol ignores its `label`.+ - A drawing change never moves `describe()`/`lint()` over the corpus; a glyph never gains+   handedness and a loss is allow-listed (`test/glyph-chirality.test.ts`).
  • llms.txt +1 −1

    https://archlang.uk/llms.txt

    − - [CHANGELOG](https://github.com/chanmeng666/archlang/blob/main/CHANGELOG.md): version history+ - [CHANGELOG](https://github.com/chanmeng666/archlang/blob/main/CHANGELOG.md): version history and release notes, read before a version bump; also shipped inside the npm package as `CHANGELOG.md`

  • server.json 1 field changed
    version
    0.2.21 0.2.22

  • server.json 1 field changed
    version
    0.2.20 0.2.21

  • server.json 1 field changed
    version
    0.2.19 0.2.20

  • server.json 1 field changed
    version
    0.2.18 0.2.19