A single-file, zero-dependency UML sequence diagram builder.
Runs entirely in the browser. No build step. npm install only for Playwright render tests.
| Live demo — v0.9.93 | All releases |
git clone https://github.com/MeatPopSci1972/sequence-builder
cd sequence-builder
node launcher.js # dev server with hot-reload at http://localhost:3799
Open http://localhost:3799 in your browser.
Capabilities pinned by the contract test suites:
| File | Notes |
|---|---|
LICENSE |
|
README.md |
|
build.js |
|
launcher.js |
|
lint.js |
|
log.html |
|
package.json |
|
sequence-builder.html |
|
sequence-builder.store.js |
|
sequence-builder.test.js |
|
sf-endpoints.js |
|
sf-preflight.ps1 |
|
sf-readme-gen.js |
|
sf-server.js |
|
themes.json |
Served by sf-server.js via launcher.js on port 3799.
| Method | Path | Description |
|---|---|---|
| GET | /status |
Session bootstrap — version, git, demos |
| GET | /HANDOFF.md |
Session handoff doc |
| GET | /api |
Endpoint reference JSON (this) |
| GET | /usage |
AI usage guide plain text |
| GET | /log |
Server event log JSON |
| GET | /git-log |
git log –oneline JSON. Default n=20 |
| GET | /test |
Run build+tests — returns HTML report |
| GET | /test-render |
Playwright render gate — 3 demos x 5 SVG layers |
| GET | /validate-readme |
Check README link+label for vX.Y.Z. Returns {ok,hasLink,hasLabel} |
| GET | /slice |
Return named sentinel section of a file. No section = manifest |
| POST | /generate-readme |
Generate README.md from live sources — git, test suites, endpoints, version |
| POST | /build |
Run build.js — sync store.js into HTML |
| POST | /lint |
Run lint.js — button count, SVG balance, sentinels |
| POST | /patch |
Find-replace in file. Body:{file,anchor,replace}. Flex whitespace matching. Returns {ok,replaced,length} |
| POST | /git |
git add -A && commit. Body:{message} |
| POST | /git-restore |
Restore tracked file to HEAD. Body:{file} |
| POST | /tag |
Create annotated git tag. Body:{tag,message} |
| POST | /changelog |
Auto-gen CHANGELOG.md from git log since last tag. Body:{version} |
| POST | /update-handoff |
Populate live fields in HANDOFF.md from status+test+test-render |
| POST | /snapshot?v=X.Y.Z |
Copy build+HANDOFF to releases/vX.Y.Z/ |
| GET | /<file> |
Read any file in repo root |
| PUT | /<file> |
Write any file in repo root. ?verify=1 returns {ok,wrote,status} |
node build.js && node sequence-builder.test.js
# Expected: 127 passed | 0 failed | 127 total
Or via the dev server: GET http://localhost:3799/test
Vanilla JS, SVG, HTML5 Canvas. No frameworks, no bundler, no runtime dependencies.
MIT