Repository navigation
ToolsEnabled Site Studio 0.1.2 (beta)
Pre-release
Pre-release
ToolsEnabled Site Studio 0.1.2 (beta) is a reliability and packaging update to the static-site editor that any MCP agent can drive while you watch. Your original folder stays unchanged until you confirm an export. MIT licensed. This is a prerelease, published only here on GitHub Releases. It is not listed in any plugin marketplace or directory.
What changed
- Crash recovery without manual cleanup. If Site Studio exits abnormally, the next start removes the leftover lock file (
lease.json) itself and prints one line saying so. It does this only when the lock came from the same platform, the same hostname and, on Linux, the same PID namespace, and only after the process ID and the operating system's process start time (plus the boot ID on Linux) show the old process is gone. A Site Studio that is still running always keeps its lock, including across time zones, containers and several restarts at once. When a lock can't be verified, startup refuses and names the lock file and process ID. On Windows the check runs PowerShell from its full System32 path, never from the current folder or PATH. - Hidden attribute text previews correctly. Titles, alt text and other attribute values that use old-style references without a semicolon (
© 2024,©) now preview the way browsers show them. This was checked against real Chromium. Export keeps your original bytes. - Large and dense pages preview. Preview work has firm limits (8 MiB of output, 2 MiB of decoded SVG text, 64 KiB per attribute). If a single attribute is too large, for example a big inline image, only that attribute is left out and the dashboard tells you. If a whole page can't be previewed, the dashboard says that too.
- The two 0.1.2 items from 0.1.1's known limits are fixed. A long rejected search no longer stalls Site Studio for about 10 seconds per 2 MiB file; the case described for 0.1.1 now takes under a second. A small hostile SVG with expanding entities no longer uses a lot of memory: the tested 10 KB file now stays under 128 MiB, down from about 850 MiB.
- Dashboard sessions. Renew dashboard session replaces the link and revokes the old link, session and preview access, and the current tab stays signed in after a reload. Move to another browser gives you a link to open elsewhere. If another local program interferes with preview cookies, Site Studio repairs them automatically twice, then offers Refresh preview.
- Claude Code plugin packaging. The archive now contains a Claude Code plugin manifest with three folder settings (site, private state and export) and a workflow skill, next to the inline Codex manifest. For this release, register Site Studio for a single project with
claude mcp add --scope local, as shown indocs/CLAUDE-INSTALL.md. That guide also says where each host logs the one-time dashboard link. Folder settings must be absolute paths; relative paths and~are refused. - A builder for an unsigned Claude Desktop bundle is included. No Desktop bundle is published, because native Desktop installation is not yet qualified.
Get started
- Download
toolsenabled-site-studio-0.1.2.zipandtoolsenabled-site-studio-0.1.2.zip.sha256, then runsha256sum -c toolsenabled-site-studio-0.1.2.zip.sha256. - With Node.js 22 or later (no npm install), extract the ZIP and print the registration for your agent:
node tools/mcp-config.mjs --client claude|codex|cursor|claude-desktop|deepseek --site /absolute/path/to/static-site --data-dir /absolute/path/to/private-state --export-dir /absolute/path/to/new-folder
It only prints; it changes nothing. For Claude Code, run the printed command from your site's project directory. - Before giving the agent any work, open the one-time dashboard link from Site Studio's startup log yourself (
docs/CLAUDE-INSTALL.mdlists where each host writes it). Then ask, for example: "Read the site, update its headline, add a section, and show me the preview."
Tested on this exact release (source commit d402953, tag v0.1.2; ZIP SHA-256 b70970229c3f2697d571d50d5aaa462a3a47fad73691daa1edcde87a4573d2b5)
- 228 of 228 tests passed headless on Linux, from this public source and from the extracted ZIP.
- The ZIP rebuilds byte for byte from this public source.
- Plugin loading, no model calls: Codex 0.158 installed this exact ZIP as a plugin into a fresh, empty profile. It listed all 16 tools and used the configured site and state folders. Claude Code 2.1.287 validated the plugin manifest and started the server with the configured folders.
- Real agents, through MCP only: on an earlier 0.1.2 candidate, Claude Code, Codex and DeepSeek Harness each read and edited the sample site and saved a checkpoint. The original folder was unchanged. Later changes (crash recovery, dashboard renewal, Windows path checks and docs) were verified without model calls.
- Independent security review of every change since 0.1.1, over five review rounds: no open finding at Medium severity or above.
Known limits
- Only Linux was tested. Native Windows and macOS are not qualified; their crash-recovery paths were exercised only by simulating them on Linux. On Windows,
SystemRootmust be a full path, and PowerShell must be in its standard System32 folder. - Locks from older versions need one manual step. A
lease.jsonleft by a crash of Site Studio 0.1.1 (or an earlier 0.1.2 preview) doesn't record where it came from, so 0.1.2 won't remove it. Startup refuses and names the file and process ID. Make sure no Site Studio process is still using that state folder, then delete only thatlease.jsonand restart. Your working copy and checkpoints are kept. 0.1.1 needed the same step. - The same manual step applies on a Mac whose hostname changed after a crash, for example after joining another network.
- The packet checker for maintainers (
tools/handoff.py) doesn't look inside some rare compression formats (LZMA-alone, lz4, lzip,.Z, brotli). It can also wrongly refuse ordinary text that looks like zlib data. Site Studio itself is not affected. - An extreme search can still pause Site Studio for a few seconds.
- The preview runs no scripts. It doesn't render entity-based styles in some Illustrator SVGs, and it drops a tag that contains an invalid numeric character reference. Export keeps your original bytes.
- Another program on the same computer can interfere with preview reads. It cannot read the preview or use the dashboard.
- A process running as the same user can act as you. See SECURITY.md.
ToolsEnabled is not affiliated with or endorsed by Anthropic, OpenAI, DeepSeek, Cursor or NVIDIA.