feat: remove secrets and mark as coming soon#346
Conversation
🦋 Changeset detectedLatest commit: 1929c8f The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 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 |
📝 WalkthroughWalkthroughThis PR removes the Secrets feature from the CipherStash Stack SDK and CLI. Changes include deleting the entire Secrets implementation module, removing all CLI secrets commands and their wiring, removing Secrets from SDK exports, updating documentation to remove Secrets references, and adding a changeset to mark Secrets as "coming soon" with existing SDK integration removed. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.changeset/wide-pets-brush.md:
- Around line 1-6: The changeset claims SDK integration was removed but code
still registers secretsRouteMap and exports secret APIs; either fully remove the
SDK parts or update the changeset. Option A: delete the secrets route
registration in stash.ts (remove references to secretsRouteMap and its
registration lines) and remove the exports of Stash and secret interfaces
(SecretMetadata, ListSecretsResponse, GetSecretResponse,
DecryptedSecretResponse) from packages/protect/src/stash/index.ts. Option B:
keep the code as-is and revise the changeset text to accurately state that CLI
commands were removed but SDK route registration and exports remain (e.g., "Mark
secrets as coming soon; CLI commands removed, SDK integration retained"). Ensure
only one of these paths is applied to make the changeset consistent with the
code.
In `@README.md`:
- Line 88: You changed README.md to remove secrets docs (replacing the previous
link with a unified Quickstart) but the codebase may still contain
secrets-related functionality; before merging, confirm and remove all secrets
references: search the repo for "secrets", the "secrets" module, any classes or
functions named SecretManager/SecretClient, CLI commands like "cipherstash
secrets", tests that assert secrets behavior, and the
.changeset/wide-pets-brush.md entry to ensure it reflects the code removal; if
secrets code still exists, revert the README Quickstart change (or add a
conditional note) and finish deleting/renaming the secrets code and tests, then
update .changeset/wide-pets-brush.md and README.md together so docs only change
once the implementation is gone.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: a3f9918f-3431-451d-89cd-9b4dc66a3e48
📒 Files selected for processing (12)
.changeset/wide-pets-brush.mdREADME.mdpackages/cli/src/bin/stash.tspackages/cli/src/commands/secrets/delete.tspackages/cli/src/commands/secrets/get-many.tspackages/cli/src/commands/secrets/get.tspackages/cli/src/commands/secrets/helpers.tspackages/cli/src/commands/secrets/index.tspackages/cli/src/commands/secrets/list.tspackages/cli/src/commands/secrets/set.tspackages/stack/src/index.tspackages/stack/src/secrets/index.ts
💤 Files with no reviewable changes (10)
- packages/stack/src/index.ts
- packages/cli/src/commands/secrets/set.ts
- packages/cli/src/bin/stash.ts
- packages/cli/src/commands/secrets/get-many.ts
- packages/cli/src/commands/secrets/list.ts
- packages/cli/src/commands/secrets/get.ts
- packages/cli/src/commands/secrets/helpers.ts
- packages/cli/src/commands/secrets/delete.ts
- packages/cli/src/commands/secrets/index.ts
- packages/stack/src/secrets/index.ts
| --- | ||
| "@cipherstash/stack": minor | ||
| "@cipherstash/cli": minor | ||
| --- | ||
|
|
||
| Mark secrets as a coming soon feature and remove existing SDK integration. |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check for remaining secrets CLI command files
echo "=== Checking for secrets CLI command files ==="
fd -t f . packages/cli/src/commands/secrets/ 2>/dev/null || echo "Directory not found or empty"
echo -e "\n=== Checking for secrets route registration in CLI ==="
rg -n "secretsRouteMap|secrets:.*secretsRouteMap" packages/protect/src/bin/ packages/cli/src/
echo -e "\n=== Checking for Stash client exports ==="
rg -n "export.*class Stash|export.*interface.*Secret" packages/protect/src/stash/ packages/stack/src/
echo -e "\n=== Checking for secrets module in SDK exports ==="
rg -n "export.*from.*['\"].*secrets" packages/stack/src/index.ts 2>/dev/null || echo "File not found"
echo -e "\n=== Checking if secrets implementation directory exists ==="
fd -t d "^secrets$" packages/stack/src/ packages/cli/src/commands/Repository: cipherstash/stack
Length of output: 878
Critical inconsistency: Changeset claims SDK integration removed, but secrets code remains active in the codebase.
The changeset states "remove existing SDK integration," but the evidence reveals incomplete removal:
- Route registration still active:
packages/protect/src/bin/stash.ts(lines 398, 442) still defines and registerssecretsRouteMapwith all secrets commands in the route map. - SDK exports still present:
packages/protect/src/stash/index.tsstill exports theStashclass and multiple secret-related interfaces (SecretMetadata,ListSecretsResponse,GetSecretResponse,DecryptedSecretResponse).
While CLI command files appear to have been removed, the route integration and SDK exports remain, making the changeset description misleading. Users reading "remove existing SDK integration" will expect secrets to be unavailable, but the Stash client still exposes full secrets management capabilities.
Either complete the removal by deleting the route registration and SDK exports, or update the changeset description to reflect the actual state.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.changeset/wide-pets-brush.md around lines 1 - 6, The changeset claims SDK
integration was removed but code still registers secretsRouteMap and exports
secret APIs; either fully remove the SDK parts or update the changeset. Option
A: delete the secrets route registration in stash.ts (remove references to
secretsRouteMap and its registration lines) and remove the exports of Stash and
secret interfaces (SecretMetadata, ListSecretsResponse, GetSecretResponse,
DecryptedSecretResponse) from packages/protect/src/stash/index.ts. Option B:
keep the code as-is and revise the changeset text to accurately state that CLI
commands were removed but SDK route registration and exports remain (e.g., "Mark
secrets as coming soon; CLI commands removed, SDK integration retained"). Ensure
only one of these paths is applied to make the changeset consistent with the
code.
| - [Documentation](https://cipherstash.com/docs) | ||
| - [Encryption getting started guide](https://cipherstash.com/docs/stack/quickstart) | ||
| - [Secrets getting started guide](https://cipherstash.com/docs/stack/cipherstash/secrets/getting-started) | ||
| - [Quickstart](https://cipherstash.com/docs/stack/quickstart) |
There was a problem hiding this comment.
Documentation change depends on complete secrets removal.
The update to a unified "Quickstart" link is appropriate for removing secrets documentation. However, this change assumes secrets have been fully removed from the SDK and CLI, which may not be the case based on the critical inconsistency identified in the changeset (see comment on .changeset/wide-pets-brush.md).
Ensure secrets code is actually removed before merging documentation changes that eliminate references to the feature.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.md` at line 88, You changed README.md to remove secrets docs
(replacing the previous link with a unified Quickstart) but the codebase may
still contain secrets-related functionality; before merging, confirm and remove
all secrets references: search the repo for "secrets", the "secrets" module, any
classes or functions named SecretManager/SecretClient, CLI commands like
"cipherstash secrets", tests that assert secrets behavior, and the
.changeset/wide-pets-brush.md entry to ensure it reflects the code removal; if
secrets code still exists, revert the README Quickstart change (or add a
conditional note) and finish deleting/renaming the secrets code and tests, then
update .changeset/wide-pets-brush.md and README.md together so docs only change
once the implementation is gone.
Summary by CodeRabbit
Release Notes
secretscommand and all subcommands are no longer available.Secretsexport from the SDK package.