Agent-native CI. Trusted by @mastra, @better_auth, and other AI-first companies.

San Francisco, CA
Joined April 2025
StarSling (YC X25) retweeted
Anthropic's CI playbook (give this to your agent) @AnthropicAI's CI jobs grew 25x in six months, so they built their own test selection system. The same ideas work on GitHub Actions: 1. Run only affected tests: Anthropic picks each change's tests from past results and package relevance. On GHA, use the dependency graph from Turborepo, Nx, Bazel, Gradle, Vitest or Jest on PRs. 2. Keep the full suite where it counts: run everything on main and in the merge queue, so skipped tests still get caught before deploy. 3. Skip workflows a change can't affect: path filters, plus job-level ifs so required checks don't hang waiting. 4. Run CI once per change: drop the push + pull_request double trigger, and stop rerunning on things like PR title edits unless a check reads them. 5. Bound flaky jobs: a hung job can hold a runner for 6 hours by default. Set timeout-minutes from the job's own run history. Anthropic's merges went from about 2,500 a day in May to over 30,000 in September, and their advice is to "assume your architecture will be at a 25x load within two quarters" 📈 Get these and 70+ more CI optimizations: starsling.dev/blog/anthropic…
7
5
3
88
9,156
StarSling (YC X25) retweeted
35% speed up with 5 minutes of work! If you’re still paying for the default GitHub Actions runners, there’s no reason not to try @starslingdev 💫
Replying to @yonasbe
moved our CI from GitHub-hosted runners to Starsling (starsling.dev). just about 5 minutes of work. Full runs went from 4m23s to 2m50s, so ~35% faster, and every test stage sped up. It's also ~57% cheaper per run though we were inside GH's 2,000 free minutes anyway.
1
1
1
14
1,720
StarSling (YC X25) retweeted
Linear's playbook covers 15 moves. ci-speedup, our open source skill, checks for 80+ patterns from your GitHub Actions run history. Here are the ones most similar to Linear's that identify waste that's measurable but easy to miss 🧵
Linear's CI playbook (for GitHub Actions): 1. Faster runners: Linear moved CI off GitHub's runners onto faster machines. Jobs ran 34% faster on average, and typecheck 52% faster. 2. Native type-checking: switching from tsc to tsgo, the native TypeScript compiler, cut the typecheck's weekly median by 73% and took it off the critical path. 3. Lint without types: they rewrote the lint rules that needed type info as syntax-only rules. API lint got 68% faster, the whole repo 55% faster, with far less memory. 4. Oxlint: syntax-only rules made the move to Oxlint easy, and it cut the runner minutes spent on linting. 5. Lighter checkouts: a shallow fetch took the slowest gate job from 94s to 20s, and dropping checkout from jobs that never read files took 27s to 7s. 6. Resilient checkout: a checkout that retries and aborts a stalled fetch after about 30s, instead of hanging, meant far fewer runs stuck waiting on git. 7. Off the critical path: moving a cache write out of the final merge check saved 42s on every API PR and merge-queue entry. 8. Preinstall in the CI image: baking the Postgres client into the base image saved 7-8s per test shard on every run, and stopped a setup step that occasionally hung. 9. Filtered installs: installing only the API package, not the whole monorepo, cut pnpm install from 44-73s to 16–18s. 10. Drop a costly cache: a node_modules cache took about 28s to restore, slower than a 7.5s fresh install, so they removed it. Along with moves 8 and 9, per-shard setup fell 44%. 11. Schema snapshots: loading a schema snapshot instead of replaying every migration cut database setup from about 12s to 1-2s per container. 12. Batch short checks: merging seven tiny jobs into two that run their tasks in parallel saved about 87,000 runner-minutes a month, 11.8% of their CI. 13. Balance the shards: splitting oversized test files and moving from 4 to 8 shards made the critical job about 19% faster and 19% cheaper. 14. Share module state: letting test files share setup was their single biggest win. The slowest shard went from 300-379s to about 195s, and shard runner time from 32.8 to 22 minutes per run. 15. Setup bounds sharding: with setup down to about 40s, 8 shards now spend less total setup time than 4 used to, while running tests twice as wide. If you want your CI to look like theirs with all of these optimizations (and 50+ more), give your agent this post: starsling.dev/blog/linear-ci
3
1
9
698
StarSling (YC X25) retweeted
Levels of CI - a full guide for making your GitHub Actions cheaper and faster 👇🏾 Level 1: use Actions cache cache every dependency install, keyed on the lockfile so it actually hits. 🔗 Docs: docs.github.com/en/actions/r… 🔗 Agent prompt: starsling.dev/best-practices… Level 2: swap runners get faster, cheaper machines by changing the runs-on label. Your workflows, triggers, and checks stay exactly as they are. 🔗 Runner comparison: starsling.dev/compare 🔗 Right-size runners: starsling.dev/best-practices… 🔗 Cut queue time: starsling.dev/best-practices… 🔗 Runners that automatically adapt: starsling.dev/blog/adaptive-… Level 3: optimize your tests and workflows cache dependencies and builds, split long suites across parallel jobs, skip work a change can't affect, cancel runs a newer push replaced. Skills: 🔗 ci-speedup (@starslingdev): github.com/starslingdev/skil… 🔗 ci-cd-and-automation (@addyosmani): github.com/addyosmani/agent-… 🔗 test-audit (@steipete): github.com/openclaw/openclaw… Posts and guides: 🔗 18 best practices (agent-friendly): starsling.dev/best-practices… 🔗 16 optimization recipes (agent-friendly): starsling.dev/github-actions… 🔗 Where your CI money goes (prompt): starsling.dev/github-actions… 🔗 Why your CI is slow (prompt): starsling.dev/github-actions… Do all the above, or just let StarSling agents ship PRs like these for you: starsling.dev/products/runne… Level 4: switch CI engines Meta and Google built Buck2 (buck2.build) and Bazel (bazel.build) for aggressive caching and test selection, so each PR runs only the tests relevant to its change. A custom engine controls the whole execution layer, which gives you a much larger surface to optimize. Options for engines: 🔗 Dagger (dagger.io) 🔗 Buildkite (buildkite.com) 🔗 Depot CI (depot.dev/products/ci) 🔗 CircleCI (circleci.com) 🔗 GitLab CI (docs.gitlab.com/ci/) Level 5: throw out CI engines entirely A few different approaches are being discussed that were never possible pre-AI. This is the future: 1. Agent-driven test selection. "My plan is to let codex decide which tests actually need to run and drastically nix CI and run tests hourly." @steipete (xitter.cf/steipete/status/210430…) 2. CI after merge with auto-remediation. "have something that is running actual functional tests off of your master branch on a cron, and then if any regressions occur, automatically have an LLM bisect and figure out the bug and then patch it..." @yacineMTB (xitter.cf/yacineMTB/status/21043…) 3. Agents replace CI: a verification agent that writes just-in-time tests for each change. @Meta's research: engineering.fb.com/2026/02/1… Most teams are somewhere between Level 2 and 3. Figure out which level you're at and give your agent this full post: starsling.dev/blog/levels-of…
Replying to @yacineMTB
instead; have something that is running actual functional tests off of your master branch on a cron, and then if any regressions occur, automatically have an LLM bisect and figure out the bug and then patch it and then ban the engineer responsible for merging for 1 (one) week
8
3
1
96
7,514
StarSling (YC X25) retweeted
Introducing Adaptive Compute for GitHub Actions - up to 2.3x faster jobs with no workflow changes ⚡️ If you’re using GitHub Actions, the compute you use for CI is predefined. The number of cores running and memory size is defined in your workflow files. That means if tests are maxing out the CPU or RAM on a job and causing them to be slow, you won’t really know unless it errors out. You can throw more resources at your CI, but tuning this optimally usually requires you to look at your workflow code, past runs, and logs. No one has time for that. @starslingdev now intelligently routes your jobs to the optimal high performance sandbox before they start, based on the shape and history of the workload. Then once a job has begun, Afterburner dynamically boosts CPU and RAM for the job within seconds while the job is running 🔥 In our (open source) benchmarks against GitHub-hosted runners, we’re seeing a 2.32x speed up in jobs using Adaptive Compute 📈 The days of having to think about compute have been over for your applications, now it’s time for CI! starsling.dev/blog/adaptive-…
3
1
1
9
902
StarSling (YC X25) retweeted
Introducing Adaptive Compute ⚡️ Up to 2.3x faster GitHub Actions, with no workflow changes. Intelligent routing, instant failover and temporary resource boosts. (+25% vCPU and +50% RAM) starsling.dev/blog/adaptive-…
4
6
2
86
3,898
All the CI optimizations @linear made in one post for your agent 👇
Linear's CI playbook (for GitHub Actions): 1. Faster runners: Linear moved CI off GitHub's runners onto faster machines. Jobs ran 34% faster on average, and typecheck 52% faster. 2. Native type-checking: switching from tsc to tsgo, the native TypeScript compiler, cut the typecheck's weekly median by 73% and took it off the critical path. 3. Lint without types: they rewrote the lint rules that needed type info as syntax-only rules. API lint got 68% faster, the whole repo 55% faster, with far less memory. 4. Oxlint: syntax-only rules made the move to Oxlint easy, and it cut the runner minutes spent on linting. 5. Lighter checkouts: a shallow fetch took the slowest gate job from 94s to 20s, and dropping checkout from jobs that never read files took 27s to 7s. 6. Resilient checkout: a checkout that retries and aborts a stalled fetch after about 30s, instead of hanging, meant far fewer runs stuck waiting on git. 7. Off the critical path: moving a cache write out of the final merge check saved 42s on every API PR and merge-queue entry. 8. Preinstall in the CI image: baking the Postgres client into the base image saved 7-8s per test shard on every run, and stopped a setup step that occasionally hung. 9. Filtered installs: installing only the API package, not the whole monorepo, cut pnpm install from 44-73s to 16–18s. 10. Drop a costly cache: a node_modules cache took about 28s to restore, slower than a 7.5s fresh install, so they removed it. Along with moves 8 and 9, per-shard setup fell 44%. 11. Schema snapshots: loading a schema snapshot instead of replaying every migration cut database setup from about 12s to 1-2s per container. 12. Batch short checks: merging seven tiny jobs into two that run their tasks in parallel saved about 87,000 runner-minutes a month, 11.8% of their CI. 13. Balance the shards: splitting oversized test files and moving from 4 to 8 shards made the critical job about 19% faster and 19% cheaper. 14. Share module state: letting test files share setup was their single biggest win. The slowest shard went from 300-379s to about 195s, and shard runner time from 32.8 to 22 minutes per run. 15. Setup bounds sharding: with setup down to about 40s, 8 shards now spend less total setup time than 4 used to, while running tests twice as wide. If you want your CI to look like theirs with all of these optimizations (and 50+ more), give your agent this post: starsling.dev/blog/linear-ci
3
286
StarSling (YC X25) retweeted
Agents write code faster than CI can check it. GitHub Actions minutes are up 4x. Anthropic's CI job volume grew 25x in 6 months. @dbworku thinks CI as we know it doesn't survive.
7
3
1
15
925
StarSling (YC X25) retweeted
Linear's CI playbook (for GitHub Actions): 1. Faster runners: Linear moved CI off GitHub's runners onto faster machines. Jobs ran 34% faster on average, and typecheck 52% faster. 2. Native type-checking: switching from tsc to tsgo, the native TypeScript compiler, cut the typecheck's weekly median by 73% and took it off the critical path. 3. Lint without types: they rewrote the lint rules that needed type info as syntax-only rules. API lint got 68% faster, the whole repo 55% faster, with far less memory. 4. Oxlint: syntax-only rules made the move to Oxlint easy, and it cut the runner minutes spent on linting. 5. Lighter checkouts: a shallow fetch took the slowest gate job from 94s to 20s, and dropping checkout from jobs that never read files took 27s to 7s. 6. Resilient checkout: a checkout that retries and aborts a stalled fetch after about 30s, instead of hanging, meant far fewer runs stuck waiting on git. 7. Off the critical path: moving a cache write out of the final merge check saved 42s on every API PR and merge-queue entry. 8. Preinstall in the CI image: baking the Postgres client into the base image saved 7-8s per test shard on every run, and stopped a setup step that occasionally hung. 9. Filtered installs: installing only the API package, not the whole monorepo, cut pnpm install from 44-73s to 16–18s. 10. Drop a costly cache: a node_modules cache took about 28s to restore, slower than a 7.5s fresh install, so they removed it. Along with moves 8 and 9, per-shard setup fell 44%. 11. Schema snapshots: loading a schema snapshot instead of replaying every migration cut database setup from about 12s to 1-2s per container. 12. Batch short checks: merging seven tiny jobs into two that run their tasks in parallel saved about 87,000 runner-minutes a month, 11.8% of their CI. 13. Balance the shards: splitting oversized test files and moving from 4 to 8 shards made the critical job about 19% faster and 19% cheaper. 14. Share module state: letting test files share setup was their single biggest win. The slowest shard went from 300-379s to about 195s, and shard runner time from 32.8 to 22 minutes per run. 15. Setup bounds sharding: with setup down to about 40s, 8 shards now spend less total setup time than 4 used to, while running tests twice as wide. If you want your CI to look like theirs with all of these optimizations (and 50+ more), give your agent this post: starsling.dev/blog/linear-ci
17
4
8
197
18,217
StarSling (YC X25) retweeted
GitHub Actions is migrating `ubuntu-latest` from Ubuntu 24.04 to 26.04 starting next week. This means anyone using the default label may see broken builds. If you're using @starslingdev our agents handle the upgrade for you automatically. For everyone else, here's a prompt for your agent to check if anything in your repo will break: starsling.dev/blog/ubuntu-26…
1
1
5
389
StarSling (YC X25) retweeted
/anatomy explain how @starslingdev afterburner makes CI jobs run faster, interactive.
Introducing Anatomy Describe a machine in one line. Claude brings it to life. - Interactive isometric wireframes you can rotate, inspect and explore - WebGL shaders for fire, water, plasma and more - Real 3D motion, with individual parts that rotate and move Install it as an agent skill. Fully open source.
4
7
94
3,696
StarSling (YC X25) retweeted
There's a skill for this! github.com/starslingdev/skil…
CI tip #4: Be careful 🫠 We set a GPT-6.1 Sol on goal to reduce the CI time Then it started to patch libraries... Bad Codex ➰🪑 Like I feel like I shouldn't need to tell it not to do that...
1
3
174
StarSling (YC X25) retweeted
For agents looking for faster CI 💫 starsling.dev/pricing.md
Agents need to know pricing for services Great idea by @zenorocha to publish PRICING.md Just shipped our own 🚀 workos.com/pricing.md
1
3
240
StarSling (YC X25) retweeted
this excellent post, combined with the skill (github.com/starslingdev/skil…) from a commenter @yonasbe gave me an incredible reduction in wall clock time on my github actions workflows as well as local test/build times. Thanks for the post - highly recommended!
we merged 4x more commits last week than we did a month ago (thanks opus 5.5). our dev setup and CI couldn't keep up, so we reworked both: • lint: 4x faster • memory per agent session: half • CI setup step: 50x faster • CI type check: 10x faster we often run 10+ agents at once locally, and each one runs its own lint, type checks and tests. from time to time, several agents would run these at the same time and block each other. a 64 GB MBP would run out of memory and crash. so most of the work was making things faster and lighter, or getting rid of them we revamped our local setup to make checks faster and use less memory: • oxlint and oxfmt instead of eslint and prettier, and type-aware lint only runs in CI. linting a changed file went from over 10s to a few seconds • a hook formats every file an agent edits, so agents don't have to take a turn to format it • typescript 7's native LSP instead of tsserver. each agent session uses about half the memory • agents run one check script after each change. it installs missing packages and env files first, then lints, type-checks and runs the tests for what changed • only 3 type checks or big test runs can run at once across all worktrees, so they don't slow each other down we revamped our CI to make it faster: • every CI job installs pnpm before it can install our packages. the standard github action for this (pnpm/action-setup) installs pnpm through npm, and that hung for 3-7 min on most of our test jobs. we now download the pnpm binary from github releases, which takes about 4s • our type check needs about 9.5 GB of memory. github's standard runners have 8 GB, so it ran out of memory and took 206s. on a 16 GB machine it takes 20s • vercel builds type-check with typescript 7 (85s to 45s), and previews only build for PRs that change the database if you're running lots of agents, look at what they're waiting on. for us it was mostly lint, type checks and CI setup
1
2
1
3
160
StarSling (YC X25) retweeted
Easiest way to get these sorts of results: npx skills add starslingdev/skills --skill ci-speedup
we merged 4x more commits last week than we did a month ago (thanks opus 5.5). our dev setup and CI couldn't keep up, so we reworked both: • lint: 4x faster • memory per agent session: half • CI setup step: 50x faster • CI type check: 10x faster we often run 10+ agents at once locally, and each one runs its own lint, type checks and tests. from time to time, several agents would run these at the same time and block each other. a 64 GB MBP would run out of memory and crash. so most of the work was making things faster and lighter, or getting rid of them we revamped our local setup to make checks faster and use less memory: • oxlint and oxfmt instead of eslint and prettier, and type-aware lint only runs in CI. linting a changed file went from over 10s to a few seconds • a hook formats every file an agent edits, so agents don't have to take a turn to format it • typescript 7's native LSP instead of tsserver. each agent session uses about half the memory • agents run one check script after each change. it installs missing packages and env files first, then lints, type-checks and runs the tests for what changed • only 3 type checks or big test runs can run at once across all worktrees, so they don't slow each other down we revamped our CI to make it faster: • every CI job installs pnpm before it can install our packages. the standard github action for this (pnpm/action-setup) installs pnpm through npm, and that hung for 3-7 min on most of our test jobs. we now download the pnpm binary from github releases, which takes about 4s • our type check needs about 9.5 GB of memory. github's standard runners have 8 GB, so it ran out of memory and took 206s. on a 16 GB machine it takes 20s • vercel builds type-check with typescript 7 (85s to 45s), and previews only build for PRs that change the database if you're running lots of agents, look at what they're waiting on. for us it was mostly lint, type checks and CI setup
1
1
8
336
StarSling (YC X25) retweeted
Replying to @zeeg
Option 1: @starslingdev optimizes your CI while your sleep Option 2: build your own CI harness that does same. I just spilled all of the secrets today xitter.cf/mastra/status/21075016…
2
5
144
StarSling (YC X25) retweeted
Tune in to hear @dbworku break down how we built our CI optimization agent loop @starslingdev with @mastra 👇🏾
Good news: you can un-fuck your CI with agents! One team built a CI harness that identifies and debugs slowdown causes: disk I/O, bandwidth saturation, VM spinup overhead, 𝚐𝚒𝚝 𝚏𝚎𝚝𝚌𝚑 hangs... luma.com/mastra-kv6o
1
7
451
StarSling (YC X25) retweeted
StarSling made their CI harness 5.4x faster by reworking the agent loop on Mastra. Tomorrow @starslingdev's co-founder @dbworku and I are walking through the code and benchmarks. Come join us! luma.com/mastra-kv6o
1
3
159
StarSling (YC X25) retweeted
Good news: you can un-fuck your CI with agents! One team built a CI harness that identifies and debugs slowdown causes: disk I/O, bandwidth saturation, VM spinup overhead, 𝚐𝚒𝚝 𝚏𝚎𝚝𝚌𝚑 hangs... luma.com/mastra-kv6o
CI has become the top bottleneck of every engineering team I talk to (including Lindy). Our CI spend has become stratospheric.
2
6
2
133
18,738