turbo-scripts
Skill115k starsChanged 48 days agoApache-2.0View on GitHub
Conventions for package.json scripts and turbo.jsonc tasks in the monorepo. Use
- Reads credentials
Trending
More talk lately.about the whole repository
Who's talking about supabase/supabase
- Supabase“Deploy a Supabase Storage Example on Vercel”YouTube · Mar 30, 2021 · 11k views
- A Hacker News story“Supabase open sourced their dashboard”Hacker News · Dec 1, 2021 · 331 points
- Neural-Nexus“supabase — open-source Postgres backend with auth and realtime”YouTube · Oct 23, 2026 · 186 views
- supabase/postgrest-js“Allow long-running transactions at the client side or do relational inserts”GitHub · Nov 2, 2021 · 121 reactions
- supabase/auth-js“Can't get rid of getUser() warning”GitHub · Mar 31, 2024 · 89 reactions
The biggest 5 of 115 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 115
Talked about on Bluesky, GitHub, Stack Overflow, YouTube, the web and Hacker News (115 times).
On Bluesky · 50
- Nov 26, 2024📦 supabase / supabase ⭐ 74,138 (+62) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social18 likes and reposts · 2 replies
- Mar 2, 2025📦 supabase / supabase ⭐ 78,242 (+49) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social14 likes and reposts
- Nov 15, 2024📦 supabase / supabase ⭐ 73,721 (+77) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social12 likes and reposts
- Oct 5, 2024📦 supabase / supabase ⭐ 72,296 (+45) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social10 likes and reposts
- Sep 2, 2024📦 supabase / supabase ⭐ 71,084 (+33) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social10 likes and reposts · 1 reply
45 more on Bluesky
- Oct 22, 2024📦 supabase / supabase ⭐ 72,893 (+48) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social9 likes and reposts
- Feb 9, 2025📦 supabase / supabase ⭐ 77,109 (+63) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social8 likes and reposts · 1 reply
- Mar 23, 2025📦 supabase / supabase ⭐ 79,628 (+48) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social7 likes and reposts
- Mar 9, 2025📦 supabase / supabase ⭐ 78,642 (+57) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending.bsky.social7 likes and reposts
- Mar 6, 2025📦 supabase / supabase ⭐ 78,475 (+69) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social7 likes and reposts
- Sep 18, 2024📦 supabase / supabase ⭐ 71,657 (+41) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social7 likes and reposts
- Feb 17, 2025📦 supabase / supabase ⭐ 77,500 (+48) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social6 likes and reposts
- Feb 22, 2025📦 supabase / supabase ⭐ 77,818 (+55) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social5 likes and reposts
- Dec 20, 2024📦 supabase / supabase ⭐ 75,163 (+46) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social5 likes and reposts · 1 reply
- Aug 6, 2025📦 supabase / supabase ⭐ 86,619 (+51) 🗒 TypeScript The Postgres development platform. Supabase gives you a dedicated Postgres database to… — @github-trending-js.bsky.social4 likes and reposts
- May 27, 2025📦 supabase / supabase ⭐ 83,497 (+73) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social4 likes and reposts
- May 18, 2025📦 supabase / supabase ⭐ 82,966 (+65) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social4 likes and reposts
- Mar 31, 2025📦 supabase / supabase ⭐ 80,043 (+57) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social4 likes and reposts
- Sep 11, 2025📦 supabase / supabase ⭐ 88,289 (+76) 🗒 TypeScript The Postgres development platform. Supabase gives you a dedicated Postgres database to… — @github-trending.bsky.social3 likes and reposts
- Sep 9, 2025📦 supabase / supabase ⭐ 88,154 (+38) 🗒 TypeScript The Postgres development platform. Supabase gives you a dedicated Postgres database to… — @github-trending-js.bsky.social3 likes and reposts
- Jul 10, 2025📦 supabase / supabase ⭐ 85,507 (+84) 🗒 TypeScript The Postgres development platform. Supabase gives you a dedicated Postgres database to… — @github-trending-js.bsky.social3 likes and reposts
- Nov 4, 2026Postgres plus auth, storage, realtime, edge functions and instant APIs, all open source. 🔗 github.com/supabase/supabase Credits:… — @prosperflowio.bsky.social2 likes and reposts
- Oct 21, 2026🎉 Celebrating! 🎉 (500+ new stars) 📦 supabase / supabase ⭐ 112,619 (+509) 🗒 TypeScript The Postgres development platform. Supabase gives… — @github-trending-js.bsky.social2 likes and reposts · 1 reply
- Oct 15, 2026📦 supabase / supabase ⭐ 111,522 (+98) 🗒 TypeScript The Postgres development platform. Supabase gives you a dedicated Postgres database to… — @github-trending-js.bsky.social2 likes and reposts
- Sep 16, 2026🔥 Hot Repo! 🔥 (100+ new stars) 📦 supabase / supabase ⭐ 109,394 (+118) 🗒 TypeScript The Postgres development platform. Supabase gives… — @github-trending.bsky.social2 likes and reposts
- Aug 27, 2026📦 supabase / supabase ⭐ 108,421 (+45) 🗒 TypeScript The Postgres development platform. Supabase gives you a dedicated Postgres database to… — @github-trending-js.bsky.social2 likes and reposts
- Jun 18, 2026📦 supabase / supabase ⭐ 104,439 (+97) 🗒 TypeScript The Postgres development platform. Supabase gives you a dedicated Postgres database to… — @github-trending-js.bsky.social2 likes and reposts
- Jun 6, 2026🔥 Hot Repo! 🔥 (100+ new stars) 📦 supabase / supabase ⭐ 103,672 (+188) 🗒 TypeScript The Postgres development platform. Supabase gives… — @github-trending-js.bsky.social2 likes and reposts
- Jan 9, 2026📦 supabase / supabase ⭐ 95,874 (+78) 🗒 TypeScript The Postgres development platform. Supabase gives you a dedicated Postgres database to… — @github-trending-js.bsky.social2 likes and reposts
- Dec 1, 2025Supabase @supabase - your open-source backend. Firebase alternative built on Postgres. Features 👇 - Auth, DB, storage & functions -… — @danshipit.bsky.social2 likes and reposts · 1 reply
- Nov 1, 2025🚀 Skyrocketing! 🚀 (200+ new stars) 📦 supabase / supabase ⭐ 91,288 (+363) 🗒 TypeScript The Postgres development platform. Supabase gives… — @github-trending-js.bsky.social2 likes and reposts · 1 reply
- Sep 25, 2025📦 supabase / supabase ⭐ 89,095 (+61) 🗒 TypeScript The Postgres development platform. Supabase gives you a dedicated Postgres database to… — @github-trending-js.bsky.social2 likes and reposts
- Aug 13, 2025🔥 Hot Repo! 🔥 (100+ new stars) 📦 supabase / supabase ⭐ 86,968 (+110) 🗒 TypeScript The Postgres development platform. Supabase gives you… — @github-trending-js.bsky.social2 likes and reposts
- May 6, 2025📦 supabase / supabase ⭐ 82,217 (+74) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social2 likes and reposts
- May 2, 2025📦 supabase / supabase ⭐ 81,889 (+61) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social2 likes and reposts
- Apr 26, 2025📦 supabase / supabase ⭐ 81,549 (+78) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social2 likes and reposts
- Sep 22, 2024📦 supabase / supabase ⭐ 71,853 (+60) 🗒 TypeScript The open source Firebase alternative. Supabase gives you a dedicated Postgres database… — @github-trending-js.bsky.social2 likes and reposts
- Jun 11, 2024📦 supabase / supabase ⭐ 67,560 (+38) 🗒 TypeScript The open source Firebase alternative. — @github-trending-js.bsky.social2 likes and reposts
- Feb 8, 2024📦 supabase / supabase ⭐ 62,724 (+45) 🗒 TypeScript The open source Firebase alternative. — @github-trending-js.bsky.social2 likes and reposts
- Sep 2, 2023📦 supabase / supabase ⭐ 56,112 (+43) 🗒 TypeScript The open source Firebase alternative. Follow to stay updated about our public Beta. — @github-trending-js.bsky.social2 likes and reposts
- Jul 10, 2023📦 supabase / supabase ⭐ 52,961 (+37) 🗒 TypeScript The open source Firebase alternative. Follow to stay updated about our public Beta. — @github-trending-js.bsky.social2 likes and reposts
- Oct 12, 2026The Postgres development platform. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications. 🔗… — @vritrasec.bsky.social1 likes and repost
- Jul 12, 2026🔥 Hot Repo! 🔥 (100+ new stars) 📦 supabase / supabase ⭐ 106,150 (+158) 🗒 TypeScript The Postgres development platform. Supabase gives… — @github-trending-js.bsky.social1 likes and repost
- Jul 3, 2026🔥 Hot Repo! 🔥 (100+ new stars) 📦 supabase / supabase ⭐ 105,238 (+145) 🗒 TypeScript The Postgres development platform. Supabase gives… — @github-trending-js.bsky.social1 likes and repost
- Jul 3, 2026🔥 Hot Repo! 🔥 (100+ new stars) 📦 supabase / supabase ⭐ 105,237 (+145) 🗒 TypeScript The Postgres development platform. Supabase gives… — @github-trending.bsky.social1 likes and repost
- Jan 5, 2026github.com/supabase/supabase GitHub - supabase/supabase: The Postgres development platform. Supabase gives you a dedicated Po... — @technews4869.bsky.social1 likes and repost
- Oct 6, 2025📦 supabase / supabase ⭐ 89,606 (+65) 🗒 TypeScript The Postgres development platform. Supabase gives you a dedicated Postgres database to… — @github-trending-js.bsky.social1 likes and repost
- Sep 13, 2025🔥 Hot Repo! 🔥 (100+ new stars) 📦 supabase / supabase ⭐ 88,563 (+143) 🗒 TypeScript The Postgres development platform. Supabase gives you… — @github-trending-js.bsky.social1 likes and repost
- Sep 13, 2025supabase/supabase The Postgres development platform. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI… — @postgresql.activitypub.awakari.com.ap.brid.gy1 likes and repost
- Jul 26, 2025https://github.com/supabase/supabase — @tom-doerr.bsky.social1 likes and repost
On GitHub · 25
- Nov 2, 2021Allow long-running transactions at the client side or do relational inserts — supabase/postgrest-js121 reactions · 51 comments
- Mar 31, 2024Can't get rid of getUser() warning — supabase/auth-js89 reactions · 122 comments
- Jan 2, 2024Acquiring an exclusive Navigator LockManager failed — supabase/supabase-js69 reactions · 94 comments
- May 17, 2024Still having getSession warning whenever _saveSession is called — supabase/supabase-js68 reactions · 22 comments
- Oct 19, 2023Proposal: throwOnError should be default behavior — supabase/supabase-js50 reactions · 16 comments
20 more on GitHub
- Jul 19, 2023Stack guards not supported in this environment — supabase/auth-js40 reactions · 48 comments
- Jul 4, 2021Filter source table based on the embedded table(inner join) — supabase/postgrest-js39 reactions · 34 comments
- Jul 15, 2023Json type: Type instantiation is excessively deep and possibly infinite. — supabase/supabase-js36 reactions · 30 comments
- Apr 24, 2024user object warning logged, even when not touching `session.user` — supabase/supabase-js35 reactions · 118 comments
- Jul 18, 2021Support multiple columns filter (AND) in realtime channel filter — supabase/realtime-js35 reactions · 48 comments
- Nov 19, 2021Signed urls for upload — supabase/storage33 reactions · 17 comments
- Jun 12, 2021Allow users to BYO S3-compatible storage backend — supabase/storage33 reactions · 22 comments
- Jul 6, 2021Allow configuration of OAuth2 redirect domain in hosted supabase console — supabase/auth31 reactions · 22 comments
- May 29, 2025supabase docker image 15.8.1.094 does not start on local development with CLI — supabase/cli28 reactions · 43 comments
- Jul 16, 2021Allow user to map custom domain to callback url on Sign with OAuth Provider — supabase/auth26 reactions · 1 comment
- Jul 15, 2025Local server unable to start due to analytics bucket — supabase/cli25 reactions · 25 comments
- Aug 4, 2023Wrong type for joins with one-to-one relationships — supabase/postgrest-js25 reactions · 21 comments
- Jan 10, 2022feat: adds support for wildcards in redirect URIs — supabase/auth22 reactions · 7 comments
- Jan 22, 2021feat(v2): Webpack 5, PostCSS 8 — meta/docusaurus14 reactions · 22 comments
- Oct 25, 2023Update images to match official Supabase Docker compose — supabase-community/supabase-kubernetes11 reactions · 46 comments
- Oct 3, 2022feat: Support for OAuth callback proxy. — supabase/auth11 reactions · 23 comments
- Jan 14, 2022feat: add kubernetes support with Helm — supabase-community/supabase-kubernetes8 reactions · 8 comments
- May 14, 2022Allow to override Supabase service URLs in client — supabase/supabase-js6 reactions · 8 comments
- Oct 3, 2022feat: Support for OAuth callback proxy — supabase/auth-js5 reactions · 1 comment
- Sep 12, 2026Make the iPix Supabase skill load reliably and document safer Edge deployments — amoai-tech/ipixai4 reactions · 3 comments
On Stack Overflow · 22
- Oct 3, 2021Supabase client permission denied for schema public23 votes
- Aug 8, 2022How to access custom schema from supabase-js client?16 votes · 3 answers
- Sep 16, 2021Supabase set password after email invite12 votes
- Feb 9, 2021Next.js _app.js: Module parse failed: Unexpected token on fresh project10 votes · 4 answers
- Oct 14, 2023Why am I getting "URL.hostname is not implemented, js engine hermes" when supabase is intialized?7 votes
17 more on Stack Overflow
- Nov 13, 2022Supabase reset password for email7 votes
- Apr 1, 2023How to fix Postgres error "operator does not exist" using pgvector6 votes · 6 answers
- Nov 29, 2022Can't deploy Supabase Edge Function (Stripe) - Relative import path "http" not prefixed with / or ./ or ../5 votes
- Jan 1, 2025supabase link bug: Local config differs from linked project4 votes
- Jan 30, 2022Supabase policies on getServerSideProps - Next.js4 votes
- Apr 17, 2023Using Prisma Client with Supabase Edge Functions3 votes
- Apr 1, 2023How to fix Postgres error "operator does not exist" using pgvector3 votes
- Mar 6, 2023Supabase RLS Policy error "stack depth limit exceeded"3 votes
- Dec 5, 2022Any way to generate Supabase ANON_KEY and JWT_SECRET locally?3 votes
- Aug 28, 2022Get supabase `user` server side in next.js3 votes
- May 19, 2022Supabase middleware for business logic3 votes
- Jan 11, 2023How to access custom schema from supabase-js client?2 votes
- Dec 18, 2022nextjs-ts-user-management, how to handle redirect to login page using @supabase/auth-helpers-nextjs?2 votes · 2 answers
- Feb 25, 2022Supabase auth.update() email_refresh_token workflow2 votes · 2 answers
- Sep 17, 2023Problem when getting started on Supabase's Flutter Google Auth, google pages redirects back to login_page1 vote
- Aug 17, 2022How do you perform a full text search via the Supabase Rest API?1 vote · 1 answer
- May 20, 2022Supabase update endpoint not working with authenticated users1 vote
On YouTube · 7
- Mar 30, 2021Deploy a Supabase Storage Example on Vercel — Supabase11k views · 15 comments
- Oct 23, 2026supabase — open-source Postgres backend with auth and realtime — Neural-Nexus186 views · 1 comment
- Oct 22, 2026supabase — Trending on GitHub | ByteDealz — ByteDealz67 views
- Jul 19, 2026supabase — Open Source Project — Dev Repo Daily43 views
- Oct 20, 2026Firebase Nuốt Tiền Không Đáy? Dùng Supabase PostgreSQL Chuẩn Không Vendor Lock-in #Supabase #Sh — NGUYEN TRUNG THONG24 views
2 more on YouTube
- Oct 22, 2026Stop Paying $300.00 for Supabase Pro — This Free GitHub Repo Replaces It — Githut6 views · 1 comment
- Oct 26, 2026Is Supabase Safe When Your AI Agent Builds the Backend? — The Repo Explored1 view · 1 comment
On the web · 6
- Mar 18, 2026Supabase — unsubbed.co — unsubbed.co
- Aug 9, 2025Building Scalable Web Applications with Supabase: A Complete Guide — dev.to
- Nov 9, 2024Building Chat App with Supabase & SwiftUI in Under 100 Lines of Code | by Ardyan — ardyan.medium.com
- Jun 2, 2024Supabase: The Open-Source Superhero That Saves You From Firebase — dev.to
- Dec 25, 2022How To Self-Host Supabase On Your Own Computer (Full Guide) | by Christopher Mathews — medium.com
1 more on the web
- Dec 16, 2021Authentication with Supabase and SvelteKit (Part 1) - Development Environment Setup — dev.to
On Hacker News · 5
- Dec 1, 2021Supabase open sourced their dashboard331 points · 39 comments
- Apr 4, 2020Show HN: Realtime Slack clone using Postgres29 points · 4 comments
- Jul 30, 2020Show HN: A Slack Clone Using Postgres Row Level Security6 points · 1 comment
- Jul 28, 2021Supabase: Open-Source Firebase Alternative4 points
- Feb 10, 2025Select Query Returns Empty Array Despite Existing Data with RLS Enabled #334991 point · 1 comment
In this repository34 other files it gives its agents.
- AGENTS.mdAGENTS.md
- apps/docs/AGENTS.mdAGENTS.md
- apps/kb/AGENTS.mdAGENTS.md
- apps/studio/AGENTS.mdAGENTS.md
- apps/docs/CLAUDE.mdCLAUDE.md
- apps/kb/CLAUDE.mdCLAUDE.md
- apps/studio/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- apps/learn/public/llms.txtllms.txt
- api-typesSkill
- ask-the-docsSkill
- clickhouse-logs-queriesSkill
- code-reviewSkill
- copywritingSkill
- dev-toolbar-reviewSkill
- edit-the-docsSkill
- pm-the-docsSkill
- react-hook-formSkill
- review-the-docsSkill
- safe-sql-executionSkill
- studio-e2e-testsSkill
- studio-error-handlingSkill
- studio-mock-api-testsSkill
- studio-queriesSkill
- studio-shortcutsSkill
- studio-testingSkill
- studio-ui-patternsSkill
- telemetry-standardsSkill
- test-the-docsSkill
- vercel-composition-patternsSkill
- vitestSkill
- write-the-docsSkill
- explorerSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 3 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Run the audit for every package you touch, before and after your change:
- Very specific: line 37
Don't split a task into a turbo run <name>-inner script plus an inner script.
- Very specific: line 38
Put compound commands in one quoted argument: "typecheck": "maybe-turbo \"next typegen && tsc --noEmit\"".
- Very specific: line 40
Every wrapped script needs a task in turbo.jsonc (the package's or the root's).
- Very specific: line 41
When you override dependsOn for a root task such as build or typecheck, keep ^build / ^typecheck.
- Very specific: line 48
Default inputs skip gitignored files, and plain globs are hashed when turbo starts, before any task runs.
- Distinctive: line 54
Keep generated output deterministic (sorted keys, stable order).
- Very specific: line 59
Check what the script and the modules it imports read (git grep "process.env"), including shared packages.
- Distinctive: line 72
Run the audit again.
- Very specific: line 73
Check the graph: pnpm turbo run <task> --filter=<package> --dry=json.
- Very specific: line 74
Run the entry point the way callers do, for example pnpm build in the package, then run it again and confirm the second run hits the cache.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Turbo scripts
Task ordering belongs in turbo.jsonc (dependsOn), not in package.json. pnpm pre/post hooks and &&/run-p chains hide steps from turbo, so it can't cache or parallelize them, and running the script through turbo can run them twice. apps/docs is the reference implementation.
Audit first
Run the audit for every package you touch, before and after your change:
node .agents/skills/turbo-scripts/scripts/audit.mjs apps/docsIt lists each turbo task the package can run (its own turbo.jsonc plus the root's) and reports:
NEEDS maybe-turbo: the task has same-packagedependsOnentries, but the script isn't wrapped.pre/post hooks to migrate:pre<name>/post<name>scripts.preinstallis ignored.scripts that call other scripts: chains such aspnpm a && pnpm borrun-p a b. An alias that calls a single script with extra args or env (pnpm run embeddings --refresh) isn't reported.maybe-turbo scripts with no turbo task:turbo runfails for these withCould not find task.
Fix every finding in the package you're changing, or tell the user why one stays.
Rules
Ordering
- Express ordering as
dependsOnin the package'sturbo.jsonc. Remove the hook or chain it replaces. - Wrap a script with
maybe-turbo(frompackages/maybe-turbo; add"maybe-turbo": "workspace:*"todevDependencies) when its task has same-packagedependsOnentries. Outside turbo,pnpm <script>then runsturbo run <script> --filter=<package>, so prerequisites still run. Leaf scripts with no dependencies don't need it. - Don't split a task into a
turbo run <name>-innerscript plus an inner script. Usemaybe-turbo, so each task has one script name for callers andturbo.jsonc. - Put compound commands in one quoted argument:
"typecheck": "maybe-turbo \"next typegen && tsc --noEmit\"".maybe-turboexits with an error if&&,||,;or|appears outside the quotes. - A task that only groups other tasks gets a bare
"<name>": "maybe-turbo"script, sopnpm <name>still works. - Every wrapped script needs a task in
turbo.jsonc(the package's or the root's). - When you override
dependsOnfor a root task such asbuildortypecheck, keep^build/^typecheck. - Persistent sidecars that must run next to
dev(for examplevelite dev) go in the task'swithkey, notrun-p.
Caching
- Declare
outputsfor every cacheable task that writes files. If two tasks write into the same directory, list only each task's own files. - Mark tasks that fetch remote content or check local state as
"cache": false. Default
inputsskip gitignored files, and plain globs are hashed whenturbostarts, before any task runs. A task that reads gitignored files written by an uncached task must list them injitmode, or a cache hit can restore output built from stale content:"inputs": ["$TURBO_DEFAULT$", { "mode": "jit", "globs": ["content/guides/**"] }]- Keep generated output deterministic (sorted keys, stable order). A tracked file that a task rewrites differently on every run invalidates the whole package's cache.
Env
- Turbo runs tasks in strict env mode, which drops undeclared variables. Declare every variable the task reads:
envfor values that change the output,passThroughEnvfor secrets and credentials that don't. - Check what the script and the modules it imports read (
git grep "process.env"), including shared packages.
Side effects
- On a cache hit, turbo restores outputs without running the script. Keep uploads, deploys and database writes in uncached tasks or outside turbo (for example in a
vercel.jsonbuildCommandafterpnpm build).
Callers
- Find everything that runs the scripts you change:
.github/workflows,vercel.json, rootpackage.json, other apps' scripts,e2e/*, and docs/READMEs. A plainpnpm <script>keeps working once the script is wrapped withmaybe-turbo. - A wrapped script called from inside another turbo task sees
TURBO_HASHand runs without its prerequisites. Declare the dependency inturbo.jsoncinstead of calling the script from another script.
Verify
- Run the audit again.
- Check the graph:
pnpm turbo run <task> --filter=<package> --dry=json. - Run the entry point the way callers do, for example
pnpm buildin the package, then run it again and confirm the second run hits the cache. Tasks that usejitinputs reporthash: nullin--dry=json; that's expected.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

