Taxonomy Modeller
Taxonomy environment for wordpress
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/sfambach/wp-taxonomy-modeler/archive/refs/heads/main.zipA WordPress plugin for building data models — modelled the way the world is shaped, as objects and their relationships, not as relational tables. The user builds a model by building a tree.
Concept phase closed — building has started
The concept was written between 2026-08-22 and 2026-08-24 and 10 Domain core went
lockedon 2026-08-24 (D-338). 338 decisions, 81 open questions — all answered.Work now runs in the packages of 97 Implementation plan. ⚠️ Every package ends with something the owner can operate — not the storage layer is done, which nobody can check, but you create a node, rename it, reload, and it is still there.
The old plugin was mothballed on 2026-08-23 into
legacy-code/and no longer loads.
Start here
Three doors, depending on why you came:
| If you want to … | Read |
|---|---|
| understand the model in ten minutes | The core, on one page — fourteen sentences everything else follows from |
| work in this repository | CLAUDE.md — the rules that bind every agent and human here |
| know why something is the way it is | The decision log — every D-<nnn>, with the reasoning |
⚠️ The source of truth is docs/NewConcept/ and nothing else.
docs/legacy/ is frozen: quote it, never inherit from it.
The concept
| Document | What is in it | Status |
|---|---|---|
| 00 Vision and scope | What the product is, what it is not | agreed |
| 01 Glossary | The words, and what each one means here | draft |
| 10 Domain core | The model: nodes, relations, branches, settings, storage | locked |
| 20 Interaction | What a person may do — tree, detail view, blocks | open |
| 30 Renderer | How anything becomes visible | draft |
| 40 I18n | Labels, roles, locales — and why they are not the text domain | draft |
| 50 WordPress persistence | The seven tables, and the boundary around them | draft |
| 60 Calculation | Computed attributes | draft |
| 70 Migration | Getting existing content in | draft |
| 90 Decision log | Nothing is decided until it is here | running |
| 91 Open questions | Anything undecided, never invented away | running |
| 95 Roadmap | What ships in which order, plus the parking lot | draft |
| 96 Scenario check | Six worlds modelled against the concept before locking | draft |
| 97 Implementation plan | Packages, not sprints | draft |
| 98 Documentation style | How these documents are written | agreed |
The _harvest/ folder holds the sweeps of the old project
— documentation and code — each finding marked covered, contradicts, missing, workaround
or deliberately dropped. The old material is evidence, not a source.
Names
One name for people, one for machines:
| Product name | Taxonomy Modeller |
| Repository | wp-taxonomy-modeler |
| PHP namespace | Taxmod\Core\… · Taxmod\WordPress\… |
| Database tables | {$wpdb->prefix}taxmod_… |
| Gutenberg blocks | taxmod/<slug> |
| Text domain | taxmod |
| Version | starts at 0.0.1 |
Local layout (Windows + Laragon)
| Role | Path |
|---|---|
| WordPress docroot | C:\devel\wordpress — served as http://devel.test |
| Source checkouts | C:\devel\wordpress\source |
| This repository | C:\devel\wordpress\source\wp-taxonomy-tree |
git clone https://github.com/sfambach/wp-taxonomy-modeler.git
⚠️ A fresh clone produces wp-taxonomy-modeler; the owner's machine has wp-taxonomy-tree.
Same repository — the folder was deliberately not renamed with it. WordPress takes the plugin
slug from the symlink in wp-content/plugins/, not from the source folder, so the name is
cosmetic.
Details, including the cloud VM with SQLite: AGENTS.md.
License
GPLv2 or later — to be finalised with the first plugin bootstrap commit.