github TypeScript re-analysis due

ChanMeng666/archlang

github

【Star us! ⭐】 A declarative language that compiles to professional SVG floor plans — like Typst/LaTeX, but for architecture. Built for AI agents: deterministic output, JSON diagnostics that carry their own fix, and a describe/lint channel that verifies a plan against its brief without rendering an image. Zero-dependency TypeScript.

maintainer
ChanMeng666
licence
MIT
first seen
2026-07-13
last seen
2026-09-17
releases · 30d
10
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 9 tools
transport stdio · http verified reported listed in the official MCP registry counts 9 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • compile
  • complete
  • describe
  • fix
  • lint
  • repair
  • score
  • suggest
  • validate
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit f16105e · analyzer v33 · 3d ago

skills & prompt files 9

danger signals3

code evidence vv1.36.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 459

filesystem 148

  • fs ChanMeng666-archlang-f16105e/bench/compare.mjs :14 import { readFileSync, writeFileSync, existsSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/bench/run.ts :17 import { readFileSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/dataset/generate.ts :14 import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/docs-site/.vitepress/config.ts :4 import { readdirSync, readFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/docs-site/e2e/archlive.spec.ts :24 import { readFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/docs-site/e2e/fixtures.ts :13 import { readdirSync, readFileSync, statSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/docs-site/e2e/homepage-links.spec.ts :20 import { readFileSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/docs-site/sync-docs.mjs :12 import { copyFileSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/editors/vscode/copy-assets.mjs :6 import { copyFileSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/editors/vscode/esbuild.mjs :7 import { rmSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/editors/vscode/resolve-core.mjs :35 import { existsSync, readFileSync, realpathSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/editors/vscode/test/lockstep.test.ts :30 import { readFileSync } from "node:fs";
show 28 more
  • fs (weak) ChanMeng666-archlang-f16105e/editors/vscode/test/stdio.test.ts :27 import { existsSync, readFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/editors/vscode/test/wrong-core.test.ts :18 import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/eval/fidelity-run.ts :27 import { writeFileSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/eval/fidelity.ts :53 import { readFileSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/eval/g1/baseline-accuracy.ts :26 import { readFileSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/eval/g1/generate.ts :25 import { mkdirSync, writeFileSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/eval/l2-run.ts :24 import { writeFileSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/eval/run.ts :30 import { readFileSync, writeFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/packages/mcp/scripts/check-dist-resources.mjs :20 import { readFileSync, existsSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/packages/mcp/scripts/copy-resources.mjs :12 import { copyFileSync, mkdirSync } from "node:fs";
  • fs ChanMeng666-archlang-f16105e/packages/mcp/src/server.ts :13 import { existsSync, readFileSync, realpathSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/packages/mcp/test/lockstep.test.ts :18 import { readFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/packages/mcp/test/resources.test.ts :17 import { readFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/playground/e2e/shared-notice.spec.ts :1 import { readFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/playground/scripts/gen-static.mjs :40 import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/changelog-section.mjs :19 import { readFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/check-test-wiring.mjs :39 import { readFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/coverage-zero-report.mjs :28 import { readFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/gen-cli-reference.ts :15 import { writeFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/gen-error-codes.ts :9 import { writeFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/gen-example-svgs.ts :31 import { readFileSync, writeFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/gen-gbnf.ts :48 import { writeFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/gen-grammars.ts :14 import { writeFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/gen-intent-schema.ts :11 import { writeFileSync, mkdirSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/gen-llm-spec.ts :18 import { readFileSync, writeFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/gen-llms-full.ts :18 import { readFileSync, writeFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/gen-permalink.mjs :18 import { readFileSync } from "node:fs";
  • fs (weak) ChanMeng666-archlang-f16105e/scripts/gen-plan-schema.ts :11 import { writeFileSync, mkdirSync } from "node:fs";

108 more not shown — this panel samples each group; the count above is the real total.

shell / exec 32

  • shell ChanMeng666-archlang-f16105e/docs-site/sync-docs.mjs :11 import { execFileSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/editors/vscode/test/stdio.test.ts :26 import { spawn } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/scripts/check-drift.ts :11 import { execSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/scripts/check-test-wiring.mjs :38 import { execFileSync } from "node:child_process";
  • shell ChanMeng666-archlang-f16105e/src/backends/svg.ts :300 // `$'`, `` $` `` and `$1` inside a replacement string as substitution patterns, and
  • shell ChanMeng666-archlang-f16105e/src/cli/serialize.ts :11 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/axes.test.ts :1 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli-batch.test.ts :1 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli-commands.test.ts :1 import { spawn, spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli-context.test.ts :13 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli-fix-backup.test.ts :1 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli-fix-suggest.test.ts :1 import { spawnSync } from "node:child_process";
show 20 more
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli-help.test.ts :1 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli-human-fix.test.ts :1 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli-intent.test.ts :4 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli-levels.test.ts :1 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli-narrow.test.ts :1 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli-preview.test.ts :1 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli-structured.test.ts :4 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/cli.test.ts :1 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/curves.test.ts :2 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/docs-fences.test.ts :31 import { execFileSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/docs-page-meta.test.ts :31 import { execFileSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/docs-sync-list.test.ts :29 import { execFileSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/docs-table-pipes.test.ts :25 import { execFileSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/indexnow-script.test.ts :17 import { execFileSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/iso-cli.test.ts :33 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/lint-file-provenance.test.ts :16 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/markdown.test.ts :1 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/plan-a11y.test.ts :125 it("survives a label that looks like a replacement pattern ($&, $', $`, $1)", () => {
  • shell (weak) ChanMeng666-archlang-f16105e/test/share-codec.test.ts :29 import { spawnSync } from "node:child_process";
  • shell (weak) ChanMeng666-archlang-f16105e/test/zones.test.ts :2 import { spawnSync } from "node:child_process";

network 5

  • net ChanMeng666-archlang-f16105e/eval/g1/generate.ts :133 const res = await fetch("https://api.openai.com/v1/chat/completions", {
  • net ChanMeng666-archlang-f16105e/eval/l2-run.ts :97 res = await fetch("https://api.openai.com/v1/chat/completions", {
  • net ChanMeng666-archlang-f16105e/eval/run.ts :328 const res = await fetch("https://api.anthropic.com/v1/messages", {
  • net (weak) ChanMeng666-archlang-f16105e/scripts/indexnow.mjs :162 const res = await fetch(url, { ...init, signal: controller.signal });
  • net (weak) ChanMeng666-archlang-f16105e/scripts/smoke.mjs :172 const res = await fetch(url, { redirect: "follow", headers: { "user-agent": "archlang-smoke/1" } });

secrets 4

  • secrets ChanMeng666-archlang-f16105e/eval/g1/generate.ts :135 headers: { authorization: `Bearer ${process.env.OPENAI_API_KEY}`, "content-type": "application/json" },
  • secrets ChanMeng666-archlang-f16105e/eval/l2-run.ts :88 const key = process.env.OPENAI_API_KEY;
  • secrets ChanMeng666-archlang-f16105e/eval/run.ts :293 const hasOpenAI = Boolean(process.env.OPENAI_API_KEY);
  • secrets (weak) ChanMeng666-archlang-f16105e/test/indexnow-script.test.ts :112 const { INDEXNOW_KEY: _stripped, ...env } = process.env;

tool registrations 9

  • compile ChanMeng666-archlang-f16105e/packages/mcp/src/server.ts :131
  • describe ChanMeng666-archlang-f16105e/packages/mcp/src/server.ts :202
  • lint ChanMeng666-archlang-f16105e/packages/mcp/src/server.ts :216
  • validate ChanMeng666-archlang-f16105e/packages/mcp/src/server.ts :230
  • score ChanMeng666-archlang-f16105e/packages/mcp/src/server.ts :299
  • repair ChanMeng666-archlang-f16105e/packages/mcp/src/server.ts :326
  • fix ChanMeng666-archlang-f16105e/packages/mcp/src/server.ts :340
  • suggest ChanMeng666-archlang-f16105e/packages/mcp/src/server.ts :387
  • complete ChanMeng666-archlang-f16105e/packages/mcp/src/server.ts :398

install hooks 2

  • prepublishOnly ChanMeng666-archlang-f16105e/package.json :104 npm run build && npm run test
  • prepack ChanMeng666-archlang-f16105e/packages/mcp/package.json :42 npm run build

declared dependencies 17

  • @biomejs/biome@^2.5.2
  • @playwright/test@^1.62.1
  • @types/node@^22.20.0
  • @types/pngjs@^6.0.5
  • @vitest/coverage-v8@^2.1.9
  • clipper2-wasm@0.4.0
  • fast-check@^4.8.0
  • pixelmatch@^7.2.0
  • pngjs@^7.0.0
  • tsup@^8.3.5
  • tsx@^4.19.2
  • typescript@^5.7.2
show 5 more
  • vitest@^2.1.8
  • vscode-oniguruma@^2.0.1
  • vscode-textmate@^9.3.2
  • @resvg/resvg-js@2.6.2
  • pdfkit@^0.15.2