ashlr-stack

by ashlrai

Not rated
GitHub

About

Open-source AI coding stack — bundled MCP servers, agent runtime, and developer tooling for shipping AI-native dev tools.

Details

Author
ashlrai
Categories
Developer Tools, AI, Automation

Setup

Install ashlr-stack in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/ashlrai/ashlr-stack

Follow the installation instructions in the repository README, then restart your MCP client.

The control plane for your entire dev stack. One command to provision, wire, and operate every third‑party service in your project.

# Homebrew (macOS / Linux — installs Phantom Secrets as a dependency) brew install ashlrai/ashlr/stack
# One-liner, macOS / Linux (also installs Phantom Secrets if missing) curl -fsSL stack.ashlr.ai/install.sh | bash
# One-liner, Windows (PowerShell) irm https://stack.ashlr.ai/install.ps1 | iex
# npm / bun registry bun add -g @ashlr/stack ashlr-stack-mcp # or: npm i -g

Dev install(from a local clone of this repo):

git clone https://github.com/ashlrai/ashlr-stack && cd ashlr-stack bun install bun run packages/cli/src/index.ts --help # Optional: alias stack=bun run $(pwd)/packages/cli/src/index.ts so it's on your PATH

Using Stack with an AI coding agent? SeeSTACK.md— a self-contained project brief for agents pulling context from the repo.

In a Claude‑Code‑native world, the friction in starting a project isn't writing code — it's tab‑hopping to create and wire ten services. Everynpx create-next-appis followed by an hour of:

- creating a Supabase project, copying URL + anon key + service role key into.env
- generating a Vercel token
- picking a Neon region and copying the connection string
- setting up a Sentry project and pasting the DSN
- registering an OAuth app, generating a PAT, pasting keys, adding MCP servers to.mcp.json

Stack collapses that hour into one command:

stack init --template nextjs-supabase-posthog-sentry # Stack does the OAuth dance per provider, # creates the upstream resource, # stores every secret in Phantom, # writes .env + .mcp.json, # and hands you a project ready for bun dev.

- Phantom Secrets— the vault. Real secret values never leave your machine. Stack writes every credential through Phantom.
- ashlr-plugin— token-efficiency layer for Claude Code. Orthogonal to Stack.
- ashlrcode— multi-provider AI coding CLI. Orthogonal.

Stack is thecontrol plane.Phantomis thevault. ashlr-plugin is thecontext compressor. They compose.

Database— Supabase · Neon · Turso · Convex · Upstash · FirebaseDeploy— Vercel · Railway · Fly.io · Cloudflare · RenderCloud— AWSAI— OpenAI · Anthropic · xAI · DeepSeekAnalytics— PostHogErrors— SentryPayments— StripeCode— GitHubTickets— LinearEmail— ResendAuth— Clerk

29 providers total. Runstack providersto see the live catalog.

stack init # interactive template picker stack add supabase # OAuth → new project → secrets → .mcp.json stack providers # full catalog (29 services across 11 categories) stack doctor --fix # verify every service; re-run setup for anything broken stack exec -- bun dev # run with Phantom's secret proxy active

Describe what you're building — Stack picks the providers.

stack recommend "B2B SaaS with auth, AI, and payments" # → ranked list of matching providers with rationales stack recommend "serverless postgres" --save # → freezes a Recipe to .stack/recipes/<id>.toml stack apply <recipe-id> # → runs stack add for each provider + pre-wires Phantom rotating envelopes # + drops webhook stubs for Stripe / Clerk / Supabase / GitHub # (add --noWire to opt out of the Phantom auto-wiring)

Inside Claude Code, the same flow is one tool call:

stack_recommend { query: "B2B SaaS with auth + payments", save: true } stack_apply { recipe_id: "<id>" }

Reasoning happens in Claude — Stack owns the catalog + execution. Outside Claude,stack recommend --synthuses a local SLM (LM Studio on:1234, Ollama on:11434) for rationales. No remote LLM SDKs live in Stack.

Already have a repo with services wired up? You don't start from scratch.

# In an existing repo: stack scan # detects Supabase / Sentry / OpenAI / etc. from package.json, config files, .env.example stack scan --auto # scans, then interactively runs stack add for each detection stack import # or: inhale an existing .env straight into Phantom + .stack.toml # Clone someone else's project: stack clone github.com/org/repo # → git clone + scans the checkout + prints next steps # Across every project on this machine: stack projects list # everywhere you've used Stack stack doctor --all # run health check across all registered projects

Stack splits its config into two files so you can commit the shape of a stack without leaking per-developer resource IDs:

- .stack.toml— committed. Names of services, their secret slots, MCP wirings.
- .stack.local.toml— gitignored automatically.project_id,resource_id, timestamps. Unique to each clone.

Another developer cloning the repo runsstack doctor --fixand Stack re-authenticates / re-provisions each service for them, writing a fresh.stack.local.toml.

packages/ core/ — @ashlr/stack-core — shared logic, provider adapters cli/ — @ashlr/stack — the stack binary mcp/ — ashlr-stack-mcp — MCP wrapper plugin/ — Claude Code plugin wrapper site/ — Astro landing page (deploys to stack.ashlr.ai) templates/ — starter stacks docs/ — auth matrix, schema reference

Three packages ship to npm:@ashlr/stack-core,ashlr-stack-mcp,@ashlr/stack. For monorepo dev,@ashlr/stackdepends on@ashlr/stack-coreviaworkspace:— that's what letsbun installlink the local checkout. A plainnpm install @ashlr/stackfrom outside the workspacecannot resolveworkspace:, so the publish flow has to rewrite those ranges to an actual version (e.g.^0.1.0) right beforenpm publish.

Don't hand-edit theworkspace:entries inpackages//package.json— dev needs them. Use the publish script instead:

It bumps each package'sversion, swapsworkspace:^<version>, runsnpm publish --dry-runfor verification, asks for explicit confirmation, publishes in dep order (coremcpcli), restoresworkspace:so local dev keeps working, and tags the release. See the script header for details.

cd packages/site bun install bun run dev # http://localhost:4321 bun run build # static output in dist/

Dark-first, magenta accent, Astro + Tailwind v4 + Framer Motion. Three interactive React islands (animated terminal, "with vs without Stack" tab comparison, Claude Code chat mock).prefers-reduced-motionhonored.

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Agent-native developer Q&A API with MCP + A2A endpoints for citations, job pickup, and answer submission.

MCP bridge that lets Claude Code delegate heavy tasks to the Antigravity CLI (agy) — purpose-built tools, model routing with fallback, session continuity, and output truncation to save Claude's context and tokens.

Embeds intelligent guidance into AI workflows to organize development and ensure quality.

Local agent workbench bundling OpenHands, Goose, Aider, and ashlrcode against one local LLM, with ashlr-plugin MCP servers pre-wired.

Async Parallel Antigravity for Codex & Claude Code

Run parallel, resumable, human-operable Antigravity CLI sessions from Codex, Claude Code, or any MCP-capable agent harness.

knowledge network for AI coding agents. Developers connect their agents to a shared pool of verified solutions — saving tokens, reducing debugging time, and getting better results. Solution authors earn when their work helps others.

Orchestrates multiple Claude Code agents across iTerm2 sessions, providing centralized management and inter-agent communication.

Multi-LLM Design and Build Team. Confer and create with a team of LLMs.

An MCP server for initial app planning and creating a good starting point for an app.

An AI-powered server that facilitates feature discussions between developers and AI, acting as a lead developer to guide implementation and architectural decisions.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.