massing: Instructions file for Claude Code

CLAUDE.md

massing CLAUDE.md is an instructions file for Claude Code from ibuilder/massing. It costs 10,985 tokens per session, scanned A, original, MIT.

A project guide for Massing, a web-based building-information-modeling tool and data platform for architecture, engineering, and construction firms. It defines how building models, geometry, metadata, and issue tracking must work.

In plain words
What is it for?
It helps build model authoring, viewing, metadata, building services, and issue workflows using IFC, an open format for exchanging building models, plus related web technologies.
Why use it?
It sets boundaries for core data and offline behavior, reducing the risk of corrupt model references or an implementation that only displays models instead of editing them.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md.

This is ibuilder/massing's own configuration. It tells Claude Code how to work on massing itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything massing configures →

Reuse

Borrowing it

Nothing to install: this file belongs to ibuilder/massing. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/ibuilder/massing/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/ibuilder/massing

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for massing CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/ibuilder/massing/claude-md/github.svg)](https://agentmods.dev/instructions/ibuilder/massing/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/ibuilder/massing/claude-md"><img src="https://agentmods.dev/badge/instructions/ibuilder/massing/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for massing CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/ibuilder/massing/claude-md"><img src="https://agentmods.dev/badge/instructions/ibuilder/massing/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 10,985 This file is loaded in full into every session.
When invoked 10,985 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.10985 $0.10985
Opus 5.5 $0.04394 $0.04394
Sonnet 5.5 $0.02197 $0.02197
Haiku 4.5 $0.01098 $0.01098

Measured 1mo ago against content hash 3c4f0fdd9c87, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

massing CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 526 lines

How it starts

The opening of the file, as written. The whole thing — 526 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Project: Massing

What this is

A standalone web BIM modeling program + data platform for AEC firms. IFC is the source of truth. The web app is a genuine authoring tool: create a model from scratch (blank IFC → levels/grid datum), then draw walls/columns/slabs/families/MEP via server-side GUID-stable edit recipes — not just a viewer. (Directional change, 2026-07: in-browser authoring is now a first-class goal, reversing the earlier "web = viewer, Blender = editor" split.) Blender/Bonsai remains an optional advanced/interop editor, not the required one. RVT support is an optional, paid Autodesk bridge — never assume RVT can be read offline.

Non-negotiables

  • Reference model elements by IFC GlobalId (GUID), never by transient viewer IDs.
  • Pre-convert IFC to Fragments on the server; never parse full IFC in the browser at runtime.
  • Keep geometry and metadata separate: geometry streams as .frag; data comes from the API.
  • Pins/RFIs/punchlist follow the BCF model so they round-trip with other BIM tools.
  • The viewer must run fully offline (local WASM, self-hosted tiles).

Stack

  • Web: Vite + TS, web-ifc, @thatopen/{fragments,components,components-front,ui}, three (pinned pair).
  • Services: Python, ifcopenshell, FastAPI, SQLAlchemy/Postgres, MinIO.
  • Editor: Blender + Bonsai, driven via Bonsai-MCP.
  • Optional: Autodesk APS Model Derivative (RVT→IFC), behind a feature flag with a cost warning.

Build order

Phase 0 smoke tests → 1 conversion → 2 large-model → 3 viewer/tools → 4 API/BCF → 5 data export → 6 editor/families → 7 deploy.

Watch out for

  • @thatopen/components and @thatopen/fragments version coupling — pin a compatible pair.
  • Bonsai-MCP execute_blender_code runs arbitrary Python: gate it, save first, chunk big ops.
  • Set-origin/georeferencing: preserve real coordinates for export, render near scene origin.

Local environment notes (this machine)

  • Bare node now resolves to v24.18.0 — the PATH workaround this line demanded is obsolete (re-measured 2026-08-27). which node → /c/Program Files/nodejs/node → v24.18.0, npm 11.16.0. v18.8.0 is still installed, at /c/laragon/bin/nodejs/node-v18/node, but it sits later on PATH and you no longer get it by default. export PATH="/c/Program Files/nodejs:$PATH" is therefore belt-and-braces, not a requirement — harmless to keep, and worth keeping in scripts, because the thing that changed is PATH order, which can change back the moment laragon updates. Both manifests declare "engines": {"node": ">=24"} and CI pins node-version: 24, so 24 is the supported baseline. This is the fourth wrong value in these three lines, and the first to be wrong in the safe direction: v20.3.1, then a version naming the Node you get after fixing PATH, then a major nobody had run in weeks — and now a workaround that outlived its cause. A stale instruction to do something unnecessary costs less than a stale one to skip something, but it still teaches the reader that this file is not to be trusted, which is the expensive part. A config file that is subtly wrong is worse than one that is silent — four drifts in, the only safe move is which node && node -v, never reading this line.
  • Python ≥ 3.12 is now a HARD FLOOR, not a preference (corrected 2026-08-25; this line said "guide targets ≥ 3.11" and "prefer a 3.11+ interpreter … if available"). requirements.lock pins numpy==2.5.2, and numpy dropped <3.12 at 2.5.0 — so on 3.11 the install does not degrade, it fails outright: No matching distribution found for numpy==2.5.2. CI pins python-version: "3.12" in ci.yml, db-migrations.yml, desktop.yml and security.yml, and the lock is compiled in python:3.12-slim, the prod base image. Same failure as the Node line above, in the other language: a floor that moved under a note phrased as advice. "Prefer if available" is what a version note says when nobody has tried the alternative — and the alternative had stopped working. Check a floor by creating the venv, not by reading this line.
  • RESOLVED 2026-08-27: 3.12.10 installed, and services/api/.venv now MEETS the floor. This entry previously said the venv could not meet it and that CI was therefore the only authority for the backend. Both halves are now out of date, and the reason it had drifted was not the one recorded here.

Read the full file on GitHub · 526 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed · +130 lines · +2,907 tokens per session 3c4f0fdd9c87
  2. 1mo ago Changed · +24 lines · +534 tokens per session c6b05b8b3231
  3. 1mo ago Changed · +59 lines · +1,250 tokens per session 64ab490b2801
  4. 1mo ago Changed · +16 lines · +343 tokens per session de1e9616bf9a
  5. 1mo ago Changed · +11 tokens per session 62a5d38b21fa
  6. 1mo ago Changed · +42 lines · +853 tokens per session a98f3e2df947
  7. 1mo ago Changed · +19 lines · +429 tokens per session 99d493edb6c4
  8. 1mo ago Changed · +11 lines · +247 tokens per session ecd309ea33c9
  9. 2mo ago First seen · 225 lines · 4,411 tokens per session scan A 85df8bdf9d50

Subscribe to this mod's changes

massing CLAUDE.md is an instructions file published in the GitHub repository ibuilder/massing (132 stars, last pushed today), licensed MIT. It adds 10,985 tokens to every session, about $0.0439 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 9,715 tokens

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,461 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).

microsoft/vscode · 5,262 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,680 tokens

vscode copilot-instructions.md

Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).

microsoft/vscode · 2,750 tokens

deepseek-harness AGENTS.md

AGENTS.md instructions for deepseek-ai/deepseek-harness, covering agents.md, pre-stable apis and released session data, repository layout, commands and host sandbox failures.

deepseek-ai/deepseek-harness · 4,261 tokens