feat: deprecate Slice Machine and redirect to the Prismic CLI - #1779
Merged
angeloashmore merged 18 commits intoSep 17, 2026
Merged
Conversation
Slice Machine is replaced by the Prismic CLI and the Type Builder. Agents and users still reach for it through npm, so every package now redirects them at the moment they touch it. `@slicemachine/init` prints the redirect message on every run, including `--help` and `--version`, tracks one halt event, and exits with code 1. There is no flag to continue. The rest of the package stays as dead code. When init was given a repository name, the suggested command carries it as `npx prismic init --repo <name>`. `start-slicemachine` prints a notice to stderr before every command, then runs as normal. Both bins go through the same entry, so `npm run slicemachine` shows it too. Every package README gets the deprecation note above the title so npm renders it. A new `deprecate` workflow lets maintainers deprecate every version of every package on npm with the CI token. The playground script starts init through the library entry, because the bin no longer initializes projects. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
angeloashmore
requested review from
levimykel
and removed request for
a team
September 16, 2026 21:47
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The manager reads the project `.prismicrc` from the nearest `package.json`, not from the working directory, so the fixture did not apply and the tests sent events to Segment. The user-level file is read from `XDG_CONFIG_HOME`, which the tests now point at the fixture. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
The bin reads its flag with Node's parseArgs and its package data with require. The deprecate workflow loop and the comments are shorter. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
Deprecation on npm runs from a maintainer's machine instead. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
The note used tilde fences. Backtick fences are the common form and match the rest of the README. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
lihbr
approved these changes
Sep 17, 2026
lihbr
left a comment
Member
There was a problem hiding this comment.
LGMT but an important suggestion, see below
3 tasks
Slice Machine is deprecated, but the new workflow is not ready for every project. The message now names the Prismic CLI as the recommended path and tells the developer how to continue with Slice Machine if they want it. `--force` continues the run. The message says the choice belongs to the developer and tells an AI agent not to add the flag on its own. Telemetry records one event for both outcomes so the team can see how many runs continue. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
The line spoke to AI agents directly, which read oddly to a person. It now describes the choice itself, which covers a developer setting up a project for a client and an agent working on someone's behalf. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 977011e. Configure here.
`--force=true` parses as a string, so it fell through to the halt message even though the user asked to continue. Both spellings now continue, and both are hidden from the CLI, which rejects flags it does not know. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
The message opened by describing what Slice Machine is not. It now states what to use for new projects, and the rest is shorter so the commands stand out. The forced run says the same thing in three lines. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
"If this project is for someone else" reads as a third party, so an agent working for a developer could exclude itself. The line now turns on who runs the command, which covers an agent and a contractor alike. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
"The project owner's call" reads like policy, not like something a developer wants in a terminal. One sentence now carries the point, and it still tells an agent to check with the person who asked. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
The message told the reader who should decide. It now says what the flag does and that it is not recommended, which is the fact a developer or an agent needs to act on. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
The force line carries the recommendation now, so the first line can describe Slice Machine instead of directing the reader. The Type Builder still arrives before any command. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
The message described Slice Machine in general, so the reader had to infer which command to run. It now says @slicemachine/init is replaced by prismic init, then shows that command. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
The message had been cut down to fragments. It reads in full sentences again, names the command that replaces this one, and says plainly that --force is not recommended. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
The notice prints on every start, which wears on a project that has read it and decided to stay for now. Setting PRISMIC_IGNORE_SLICE_MACHINE_DEPRECATION hides it. The README says so; the notice itself does not, so an agent reading stderr is not handed the switch. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
The notice used a compressed style while the init message uses full sentences with the commands set apart. It now reads the same way, and it names the variable that hides it so a project that has read it once can move on. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
A forced run does not await the telemetry call so the command is not delayed. That left the rejection unhandled, and Node exits with code 1 on an unhandled rejection, which failed the run and the playground script with it. The call now handles its own rejection. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
angeloashmore
deleted the
claude/slice-machine-deprecation-plan-2hfx4v
branch
September 17, 2026 22:48
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.

Resolves: Slice Machine Deprecation Steps
Description
Before this PR,
npx @slicemachine/initcreated new Slice Machine projects, and AI agents trained before the Prismic CLI existed still reach for it.After this PR, every Slice Machine package says it is deprecated and points to the Prismic CLI and the Type Builder. Creating a new project stops unless someone deliberately chooses Slice Machine. Existing projects keep working, with a notice they can turn off.
Checklist
Preview
How to QA 1
Run
yarn build-essential, thennode packages/init/bin/slicemachine-init.js --help. The message prints and the exit code is 1. Runyarn workspace @slicemachine/init build, thennode packages/init/bin/slicemachine-init.js --force --version. The notice prints, then the version. Runyarn workspace start-slicemachine build, thennode packages/start-slicemachine/bin/start-slicemachine.js --version. The notice prints, then the version. Run it again withPRISMIC_IGNORE_SLICE_MACHINE_DEPRECATION=1and only the version prints.🤖 Generated with Claude Code
https://claude.ai/code/session_0154ki8C9BX9VcoQFgARKJFp
Footnotes
Please use these labels when submitting a review:
⚠️ #issue: Strongly suggest a change.
❓ #ask: Ask a question.
💡 #idea: Suggest an idea.
🎉 #nice: Share a compliment. ↩