The repo outgrew a single-project layout: the reusable form-language template and the draft paper about the method were mixed in with Ecuador-specific ref/narratives/docs, and a second real project (Harbor House) had been growing inside templates/examples/ despite no longer being just a template demo. Split into: - method/ - the generalized form-language prompt template and the paper about the method, project-agnostic - projects/ecuador-museum/ - the original counter-proposal (ref/, narratives/, docs/, unchanged in content) - projects/harbor-house/ - promoted out of templates/examples/, now a peer project with its own ref/narratives/docs, including previously untracked pattern subset, narrative, and illustration material Root CLAUDE.md now covers the shared method and repo-wide conventions; each project gets its own CLAUDE.md with project-specific brief, inputs, and status. Updated all internal path references (paper.md, outline.md, per-project CLAUDE.md, settings.local.json). Dropped stray scratch files superseded by proper copies (all.txt, the already- converted pattern-language PDF). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
6.8 KiB
Pattern-Language / Form-Language Design Method — Tooling & Projects
What this repo is
This repo holds a reusable method for synthesizing human-centered architectural design narratives from Christopher Alexander's pattern language plus a region-specific form language, together with the concrete projects that apply it. It started as a single project (the Ecuador museum counter-proposal); the method and tooling were then generalized out of that project once a second, unrelated project (Harbor House) needed the same pipeline. Layout:
method/ generalized, project-agnostic tooling + the paper about it
form-language-prompt-template.md
paper/ draft paper on the method, extending buildings-15-02400
projects/
ecuador-museum/ National Museum of Ecuador counter-proposal (see its CLAUDE.md)
ref/ narratives/ docs/
harbor-house/ Harbor House travellers' inn, Sheffield (see its CLAUDE.md)
ref/ narratives/ docs/
Each project directory has its own CLAUDE.md with that project's brief,
inputs, deliverable conventions, and status. This root file covers what's
shared: the method itself, and repo-wide conventions.
Related but separate repositories (not part of this monorepo):
homemaker-addon— automates spatial layout generation; consumes the output of this repo's projects (e.g. the Harbor House proposal) but is developed independently and has its own history/tooling.
Method
The generalized method (method/) is described in and extends:
Postle, B.; Salingaros, N.A. "LLM and Pattern Language Synthesis: A Hybrid Tool for Human-Centered Architectural Design." Buildings 2025, 15, 2400. (
projects/ecuador-museum/ref/buildings-15-02400-v2.txt) — Bruno is the paper's first author.method/paper/is a draft follow-up paper covering the extension to a second, form-language input and validation across two independent projects (Ecuador, Harbor House).
Core idea: Christopher Alexander's A Pattern Language (1977) encodes 253 human-centered design patterns, but at 1166 pages it's too unwieldy for direct practical use, and requires expert familiarity to select and combine patterns. The method's workaround:
- A web tool (APL-Companion) lets someone familiar with the patterns curate a project-specific subset of the 253, then export it as a condensed PDF (titles + paraphrased summaries only, no navigation chrome). PDF exports are converted to Markdown once received (see Conventions below).
- Optionally, a form language (region/climate-specific vocabulary of
materials, massing, color, and ornament) is generated or supplied as a
second input —
method/form-language-prompt-template.mdgeneralizes the prompting process used to produce one, for reuse on any region/typology. - The pattern subset (and form language, if used) is fed to an LLM as context, along with a prompt describing the project (purpose, scale, local context) and a request for a narrative description of the human experience of the building — look, feel, and ornamental treatment — grounded only in the selected patterns.
- The LLM's narrative is checked for fidelity against the pattern subset (any element not traceable to a selected pattern is a hallucination to be caught and regenerated away).
- Optionally, the narrative can later be used as a prompt for AI image synthesis to produce illustrative (not prescriptive) visuals — the paper found this reliably reveals human-centered forms even with no style imposed. Image generation itself is run externally (by the project owner, via whatever tool), not by this tooling; this repo writes the detailed image-generation prompts and embeds the resulting images into each project's presentation document.
The output of the method is words, not drawings — the operational chain is pattern repository → project-specific pattern subset (+ optional form language) → LLM narrative synthesis → evaluation.
Per-project specifics (which stakeholder viewpoints to write, deliverable
file layout, status) are in each project's own CLAUDE.md:
projects/ecuador-museum/CLAUDE.md, projects/harbor-house/CLAUDE.md.
Conventions
- Reference documents received as PDF are converted to Markdown (or plain
text, for documents like the academic paper where reflowing into headed
sections isn't worth the effort) and the PDF is then deleted — keeps
everything in each project's
ref/greppable and quotable rather than needing repeated page-range PDF reads. Check conversions carefully: PDF text extraction can silently mis-join hyphenated compounds and drop ligatures/symbols. - Each project follows the same internal shape:
ref/(inputs — pattern subset, form language, brief, chassis),narratives/(drafting-stage stakeholder narratives),docs/(public presentation document, images, illustration prompts). See each project'sCLAUDE.mdfor the specifics of what's in each.
Beads Issue Tracker
This project uses bd (beads) for issue tracking. Run bd prime to see full workflow context and commands.
Quick Reference
bd ready # Find available work
bd show <id> # View issue details
bd update <id> --claim # Claim work
bd close <id> # Complete work
Rules
- Use
bdfor ALL task tracking — do NOT use TodoWrite, TaskCreate, or markdown TODO lists - Run
bd primefor detailed command reference and session close protocol - Use
bd rememberfor persistent knowledge — do NOT use MEMORY.md files
Architecture in one line: issues live in a local Dolt DB; sync uses refs/dolt/data on your git remote; .beads/issues.jsonl is a passive export. See https://github.com/gastownhall/beads/blob/main/docs/SYNC_CONCEPTS.md for details and anti-patterns.
Session Completion
When ending a work session, you MUST complete ALL steps below. Work is NOT complete until git push succeeds.
MANDATORY WORKFLOW:
- File issues for remaining work - Create issues for anything that needs follow-up
- Run quality gates (if code changed) - Tests, linters, builds
- Update issue status - Close finished work, update in-progress items
- PUSH TO REMOTE - This is MANDATORY:
git pull --rebase git push git status # MUST show "up to date with origin" - Clean up - Clear stashes, prune remote branches
- Verify - All changes committed AND pushed
- Hand off - Provide context for next session
CRITICAL RULES:
- Work is NOT complete until
git pushsucceeds - NEVER stop before pushing - that leaves work stranded locally
- NEVER say "ready to push when you are" - YOU must push
- If push fails, resolve and retry until it succeeds