chore: remove the secrets skill and the leftovers from the secrets removal#595
Conversation
…moval `1929c8fe feat: remove secrets and mark as coming soon` deleted `packages/stack/src/secrets/` but left the export, the build entry, the agent skill, and the documentation behind. Secrets tooling is a while from ready; none of what's removed here was functional. - Drop the dead `@cipherstash/stack/secrets` subpath export. It resolved to `./dist/secrets/index.js`, which has no source and is absent from the tarball, so `import '@cipherstash/stack/secrets'` has thrown ERR_MODULE_NOT_FOUND in every published version since the source was removed (confirmed against 0.19.0). Removing an export that cannot resolve breaks no working code; the failure mode just becomes an honest ERR_PACKAGE_PATH_NOT_EXPORTED. Also drops the dangling `src/secrets/index.ts` entry from `tsup.config.ts`. - Remove `skills/stash-secrets/`. It was never installed into a user project -- it is absent from `SKILL_MAP` in `init/lib/install-skills.ts` -- so no handoff ever copied it. Also removes its entries from `AGENTS.md` and the init setup-prompt skill index. - Remove the secrets documentation from both published READMEs: the `Secrets` class API and the `npx stash secrets` command reference in `packages/stack/README.md`, and the `npx stash secrets` section in `packages/cli/README.md`. The CLI command does not exist -- `stash secrets` returns `Unknown command`. - Fix `skills/stash-encryption/SKILL.md`, which listed both `@cipherstash/stack/secrets` and a `Secrets` class re-exported from the main entry. Neither exists. This skill ships to user projects. `packages/protect` keeps its own secrets implementation and bin -- that code is real and is out of scope here. Verified: `@cipherstash/stack` ESM/CJS entries still build without the secrets entry; the pre-existing `EncryptionError`/`FailureOption` dts error reproduces on a clean `main` and is unrelated. `pnpm --filter stash test` passes (406).
🦋 Changeset detectedLatest commit: f23f952 The changes in this PR will be included in the next version bump. This PR includes changesets to release 7 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
💤 Files with no reviewable changes (4)
📝 WalkthroughWalkthroughThis PR removes leftover "secrets" functionality that no longer has a working implementation: the unused ChangesRemoval of secrets leftovers
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Low-impact, docs-only change. AI review. |
Why
1929c8fe feat: remove secrets and mark as coming soondeletedpackages/stack/src/secrets/but left the export, the build entry, the agent skill, and all the documentation behind. Secrets tooling is a while from ready. None of what this PR removes was functional.The headline:
@cipherstash/stack/secretsis a published, broken subpath export.package.jsonexports./secrets→./dist/secrets/index.js, andtsup.config.tsstill listssrc/secrets/index.tsas an entry — but that source doesn't exist, so tsup silently skips it and the file was never in the tarball. This ships in@cipherstash/stack@0.19.0. Anyone following the README and writingimport { Secrets } from "@cipherstash/stack/secrets"gets a module-not-found at runtime.Removing an export that cannot resolve breaks no working code. The failure mode just becomes honest:
What's removed
The dead export.
./secretsfrompackages/stack/package.json, and the danglingsrc/secrets/index.tsentry frompackages/stack/tsup.config.ts.The skill.
skills/stash-secrets/. It was never installed into a user project — it's absent fromSKILL_MAPininit/lib/install-skills.ts, so no handoff ever copied it. Its references inAGENTS.mdand the init setup-prompt skill index go with it.The docs, in both published READMEs:
packages/stack/README.md— theSecrets Managementsection, theSecretsAPI-reference block, thenpx stash secretsCLI section, the TOC entry, the feature bullet, the subpath-exports row, and the migration-table row.packages/cli/README.md— thenpx stash secretssection and the "encrypted secrets management" claim in the opening blurb.stash secretsreturnsUnknown command.A bonus correction.
skills/stash-encryption/SKILL.mdlisted both@cipherstash/stack/secretsand aSecretsclass re-exported from the main entry. Neither exists — the main entry never exportedSecrets. That skill ships into user projects, so the fix belongs here.Out of scope
packages/protectkeeps its own secrets implementation andstashbin. That code is real; untouched.packages/stack/README.mdalso tells users to runnpx stash db setupafter init — a command that isn't in the registry. Unrelated staleness, left for a separate fix.Verification
import '@cipherstash/stack/secrets'now fails withERR_PACKAGE_PATH_NOT_EXPORTEDinstead ofERR_MODULE_NOT_FOUND.@cipherstash/stackESM/CJS entries still build without the secrets entry.EncryptionError/FailureOptiondts error surfaced bypnpm --filter @cipherstash/stack buildreproduces on a cleanmainand is unrelated to this change (it looks like the@byteslice/resultdrift that chore(stack): upgrade @byteslice/result 0.2 → 0.5 #582 addresses).pnpm --filter stash test— 406 passing. Biome clean on the changed TS.git grep 'stash-secrets'andgit grep 'stash secrets'return nothing outsidepackages/protect.Summary by CodeRabbit
Bug Fixes
Documentation