Floor plans as code.
Write a floor plan as text. Get a precise, dimensioned drawing back.
Send this to your agent
Paste this into any coding agent. The skills are listed on skills.sh: https://skills.sh/ChanMeng666/archlang
1. Run: npx -y skills add ChanMeng666/archlang --yes
2. Run: npx -y @chanmeng666/archlang spec (read it before writing anything)
3. Write my floor plan as plan.arch from this brief: <describe rooms, areas, adjacencies>
4. Run: npx -y @chanmeng666/archlang compile plan.arch -o plan.svg --json
then describe plan.arch --json, validate plan.arch --strict --json (same prefix); fix, recompile
5. Run: npx -y @chanmeng666/archlang finish plan.arch, then compile again to export.
For MCP clients: claude mcp add archlang -- npx -y @chanmeng666/archlang-mcp.
https://github.com/user-attachments/assets/a60f3174-6a8c-4a42-b24a-fac030d39627
Try it
npx skills add ChanMeng666/archlang
Then ask your coding agent:
Design a one-bedroom flat of about 54 m虏, with the front door on the north wall.
It writes the plan, compiles it and checks it. This one is 56 lines of text:
Click the drawing to open this exact plan in the playground. Change a number and it redraws.
Why text
- Change one number, and one thing moves. Nothing else is redrawn.
- The same source gives the same drawing, byte for byte.
- An agent can check its own plan without ever looking at an image.
flowchart LR
B([Brief]) --> W[Write .arch]
W --> C{Compiles?}
C -->|no| F[Apply the fix<br/>the error carries] --> C
C -->|yes| V{Matches<br/>the brief?}
V -->|no| W
V -->|yes| O([SVG 路 DXF 路 PDF 路 PNG])
For your agent
This page is all a person needs. Everything else is written for agents: clone the repo and point yours at AGENTS.md, or give it the whole language in one call:
npx -y @chanmeng666/archlang context
Full overview 路 Language reference 路 Release notes (installed: node_modules/@chanmeng666/archlang/CHANGELOG.md) 路 Contributing 路 MIT
ArchLang is the engine behind ArchCanvas. Built by Chan Meng.