docs(launch): reposition README + cookbook + sanitization docs#7
Merged
Conversation
The 5 code PRs (#2-#6) deliver the engineering for the launch. This PR delivers everything user-facing: the README pitch, the package metadata, the docs/ folder, and the CHANGELOG. This PR depends on PRs #2-#6 being merged first because the new README references commands those PRs add (sow sandbox, sow doctor <connector>, the --allow-unsafe flag, the sub-second reset). Land them first, rebase this against main, then merge. README.md Hero rewritten from "Safe test databases from production Postgres" to "Stop letting Claude touch your prod database". Body explains the anxiety-reduction pitch: a coding agent is about to do something database-adjacent and you feel that quiet pang. sow is the safety layer. New "Why sow" section. New "How It Works" diagram showing the template-DB shape (one container per connector, N branch DBs, reset in <1s). New "Cookbook" stub linking to docs/cookbook.md. New "Documentation" section with the docs/ index. packages/cli/package.json Description: "Stop letting Claude touch your prod database. PII-safe local Postgres sandbox for coding agents." Keywords: added ai-agents, coding-agents, claude-code, cursor, sandbox, mcp. packages/core/package.json Description: "sow core engine — analyze, sample, sanitize, and branch Postgres databases for safe coding-agent sandboxes" Keywords: added ai-agents, coding-agents, sandbox. packages/mcp/package.json Description corrected from "15 tools" to "22 tools" (the actual count in packages/mcp/src/index.ts) and repositioned: "sow MCP server — 22 tools for coding agents (Claude Code, Cursor, Codex) to safely manage Postgres sandboxes" Keywords: added claude-code, cursor, codex, coding-agents, sandbox. docs/sandbox.md (new) The sow sandbox flagship command — what it does, the flags, the .env.local backup/revert flow, when not to use it, and what's actually in the sandbox. docs/sanitization.md (new) What sow sanitizes (the PII type table), how JSONB walking works, the fail-closed gate, the --allow-unsafe escape hatch, custom rules via .sow.yml, what sow does NOT do (free-text NER, etc.), and the read-only-on-the-source guarantee. docs/cookbook.md (new) Three end-to-end workflows with concrete prompts: 1. Let Claude refactor your schema without fear 2. Let Cursor generate seed data for a new feature 3. Let your coding agent debug a failing migration Plus the "agent reset loop" pattern diagram, the MCP tool list, and operational tips (one long-running sandbox per project, checkpoints for known-good states, sow doctor as the inspection surface, principle of least privilege on the source DB user). CHANGELOG.md (new) Scaffold with three sections: - [Unreleased] documenting the planned PR #2-#6 features under Added/Changed - [0.1.14] documenting the SQL injection security fix that already shipped (PR #1, merged earlier in the session) - [0.1.13] one-line summary of the initial public release Test/build/lint all clean (89/89 tests, 3/3 packages built, no source code changed in this PR). Co-Authored-By: Claude Opus 4.6 (1M context) <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
The 5 code PRs (#2-#6) deliver the engineering for the launch. This PR delivers everything user-facing: the README pitch, the package metadata, the docs/ folder, and the CHANGELOG.
What changes for the user
Before: GitHub repo says "Safe test databases from production Postgres." Generic developer-productivity pitch. No mention of Claude, Cursor, agents, or the anxiety reduction story.
After: GitHub repo says "Stop letting Claude touch your prod database." Body explains the moment of pain (your coding agent is about to do something database-adjacent and you feel that quiet pang) and positions sow as the safety layer. The "Why sow" section leads with "Built for coding agents." The docs link to a 3-workflow cookbook.
Files changed
README.mddocs/cookbook.mddocs/Quick Startupdated to lead withsow sandboxpackages/cli/package.json"Stop letting Claude touch your prod database. PII-safe local Postgres sandbox for coding agents."ai-agents,coding-agents,claude-code,cursor,sandbox,mcppackages/core/package.jsonai-agents,coding-agents,sandboxpackages/mcp/package.jsongrep -c "defineTool" packages/mcp/src/index.ts)"sow MCP server — 22 tools for coding agents (Claude Code, Cursor, Codex) to safely manage Postgres sandboxes"claude-code,cursor,codex,coding-agents,sandboxdocs/sandbox.md(new, ~80 lines)sow sandboxflagship command, full flag table,.env.localbackup/revert flow, when not to use itdocs/sanitization.md(new, ~140 lines)--allow-unsafeescape hatch.sow.ymldocs/cookbook.md(new, ~120 lines)Three end-to-end workflows with copy-pasteable prompts:
Plus the "agent reset loop" pattern diagram and operational tips.
CHANGELOG.md(new)Scaffold with three sections:
[Unreleased]documenting the planned PR refactor(core): Postgres template databases for sub-second branch reset #2-refactor(core): sampler warnings + dynamic skip + batched fetch (Lane A rest) #6 features underAdded/Changed[0.1.14]documenting the SQL injection security fix that shipped earlier this session[0.1.13]one-line summary of the initial public releaseTests
No source code changed. Sanity check:
bunx vitest run→ 89/89 passing.bunx turbo build→ 3/3 packages built.bunx eslintclean on touched files (none of which are source).Pre-Landing Review
This PR is documentation only. No security surface, no data flow, no new dependencies. The review checklist is N/A.
Known forward-looking claims in the README
The new README mentions features that ship in PRs #2-#6. If those PRs don't merge before this one, the README will document commands that don't exist on
mainyet. The dependency note at the top of this PR makes that explicit. Recommended merge order:--allow-unsafeAfter this PR lands, run
gh release view v1.0.0(cut via the newversion-bump.ymlfrom PR #5) and the launch is ready.Test plan
bunx vitest run89/89bunx turbo buildclean🤖 Generated with Claude Code