feat(cli): add init, start, and update commands with embedded references#912
Conversation
Split integration storage into file-based config (config.json + connector.ts) and a slim integrationCredentials DB table for encrypted secrets and runtime state. Adds unified loader, credential CRUD, file I/O actions, shared Zod schema, and updates all consumers (agent tools, workflow engine, frontend, OAuth flows, RLS) to work with the new dual-source model.
Replace filesystem-based monorepo lookups with build-time embedded files so the compiled CLI binary works without access to the source repo. Add interactive project name prompt to init, streamline env setup by removing protocol selector and old DB password flow, add port option to start command with inherited stdio for foreground mode, and clean up stale Docker volumes during init.
Embed entire convex/ and lib/ directories instead of cherry-picked subdirectories so the CLI reference stays complete as the platform grows. Update CLAUDE.md schema paths, skip _generated/ in codegen, platform-suffix build outputs, and drop redundant example copies from fetchReference.
There was a problem hiding this comment.
Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.
…orts Add turbo task dependency so @tale/cli#generate runs before typecheck, ensuring the gitignored embedded-files.ts exists in CI. Remove unused IntegrationOperation and SqlOperation type exports to fix Knip check.
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThis PR introduces a complete CLI framework for bootstrapping and managing Tale projects. It adds three new subcommands— Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes The PR spans 16+ new files with heterogeneous responsibilities. Files such as Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
The embedded-files module is gitignored and must be generated before typecheck and build. This was missing after #912 added the dependency.
The embedded-files module is gitignored and must be generated before typecheck and build. This was missing after #912 added the dependency.
Summary
tale init,tale start, andtale updateCLI commands for local project management — scaffolding config directories, running dev compose, and syncing project filesconvex/andlib/reference trees into the CLI binary at build time so AI assistants and developers have schema context locallytale-linux,tale-darwin) and supporting utilities (checksums, project discovery, env config improvements)IntegrationOperation,SqlOperation) and addlistIntegrationsForAgentactionTest plan
bun run --filter @tale/cli generateand verify embedded reference files are generated fromconvex/andlib/tale initin a fresh directory and verify project scaffold is created with correct structuretale startand confirm dev compose launches correctlytale updateand verify config files sync with checksumsbuild:linux,build:mac) and verify output binaries are named correctlySummary by CodeRabbit
Release Notes
New Features
initcommand to bootstrap and configure Tale projects interactivelystartcommand to launch local development environments with Dockerupdatecommand to sync and update project filesChores