Remove npm/npx as the recommended install path - #7
Merged
Conversation
…l.sh only
Publishing to npm isn't happening right now, so npm/npx should no longer be
the primary story for free users. The repo (via git clone or the
install.sh curl one-liner) is now the one recommended install path
everywhere: README, adapters/README.md, adapters/claude-code/SKILL.md,
adapters/codex/AGENTS.md, docs/extending.md.
bin/cli.mjs required a real fix, not just doc changes: `cmdInit()` wrote
adapter templates that told the AI tool to shell out to `npx think-in-html`
for instructions/check/build — which would now be flat-out broken advice.
Replaced those embedded, already-drifted template strings with logic that:
- copies the engine into <project>/think-in-html/core/ (cpSync), same as
install.sh's cp step
- reads the real, dogfooded adapter files (.claude/commands/think-in-html.md,
.cursor/rules/think-in-html.mdc, adapters/codex/AGENTS.md) and rewrites
their bare `core/` references to `think-in-html/core/` — mirroring
install.sh's `sed 's|core/|think-in-html/core/|g'`
This makes `node bin/cli.mjs init` produce the exact same result as the
curl installer, and the two paths can no longer drift apart since cli.mjs
now reads the same source files instead of maintaining its own copies.
Verified: ran `node bin/cli.mjs init` against a scratch project — engine
copied, all three adapters wired, paths rewritten correctly, zero `npx`
references anywhere in the output. `npm test` still 18/18.
Left PUBLISHING.md and LANDING-PLAN.md as historical/maintainer reference
(not user-facing install instructions); softened the README's pointer to
PUBLISHING.md to note publishing is paused.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
git clone+node bin/cli.mjs init, or the curl one-liner — no npm/npx anywhere.bin/cli.mjs'scmdInit()previously wrote adapter templates that told the AI tool to shell out tonpx think-in-html instructions/check/build— that would be actively broken advice once npm isn't recommended. Replaced the embedded (already drifted) template strings with logic that copies the engine to<project>/think-in-html/core/and reads the real per-tool adapter files, rewriting theircore/references tothink-in-html/core/— the same transforminstall.shalready does viased. The CLI and the curl installer can no longer drift apart, sincecmdInit()now reads the same source files instead of maintaining its own copies.PUBLISHING.mdandLANDING-PLAN.mdleft as historical/maintainer reference (not user-facing install docs).Test plan
npm test— 18/18 passingnode bin/cli.mjs initagainst a scratch project: engine copied tothink-in-html/core/, all three adapters (Claude Code, Cursor, Codex) wired, paths correctly rewritten, zeronpxreferences in any generated outputnode bin/cli.mjs --help/instructions code/checkstill work when run vianode bin/cli.mjs <cmd>from the cloneRisks
None — no published npm package exists to break; this only changes docs and the local
initcodepath.Rollback
Revert this commit;
cmdInit()goes back to the npx-based templates (which were already stale/broken advice regardless).