~/sursakit
process: marketing.tsx·● live

$ buildthe whole stack─ inside one room.

Sursakit is a cloud workbench where every service in your project — backend, database, frontend — runs alongside the editor, versioned with Jujutsu, and shipped by an agent that opens real pull requests.

$sudo sursakit joinread the docspress ⌘K to navigate
agent— writing
feature-enhancement
● PR opened: marketing/v2+312 −0
~/problem.panel
What's broken

// problem

Building software in 2026
still feels like
assembling a desk.

The tools are great in isolation and miserable together. Days disappear into setup, switching, and reconciling. The actual product waits.

01symptom

Setup eats your first day

Clone the repo. Read the README. Install Postgres. Match versions. Hunt for the right .env. By lunch you haven't shipped a line.

02symptom

Your stack is twelve services pretending to be one

Editor on your laptop. DB in Docker. Queue on a colleague's box. Agent in another tab. Context switching is the job.

03symptom

Agents suggest, humans clean up

Most coding agents stop at a diff. They never run the code, never hit the DB, never open a PR. You finish their work.

04symptom

Branches lose context

Two engineers on two laptops. A migration here, a feature flag there. Merging is archaeology, not engineering.

~/vision.panel
Where we're going

// vision

A workbench, not a window.
One room. Everything inside it.

We are Sursakit — a small team based in Kathmandu, building the development environment we always wanted. The one where you start a project, and a minute later you are writing code against a real database, with an agent that ships, on a history that doesn't punish you for thinking.

Made in 🇳🇵 · backed by founders who've shipped at scale.

We believe

the project, not the laptop, is the unit of work.

We believe

agents should commit, not suggest. If it can't run code, it can't write code.

We believe

history should branch like thought, not like a punishment. That's why we picked Jujutsu.

We believe

every service in your stack belongs in the same room as the cursor that edits it.

~/about.panel
What this is

// about

Most editors think a project
is a folder.
We think it's a city.

A modern app is twelve services pretending to be one. The editor sits on your laptop. The database runs in Docker. The queue lives on a colleague's machine. The agent is a tab you switch to.

Sursakit collapses that into a workspace: every service runs together, every session (yours and Agent's) shares them, jj tracks the history, and pull requests ship from the same window you wrote the code in.

1
workspace per project
N
services, one runtime
sessions, one history
0
things to install

// workspace · the editor

One workspace. Every service, session, and PR in one window.

Browser-native editor with full LSP, multi-service runtime, jj-backed version control, integrated terminals, and Agent riding shotgun in its own session.

checkout-apisrcrouteswebhooksinvoice.ts
1import { db } from '@/services/postgres'
2import { defineRoute } from 'sursakit/api'
3
4export default defineRoute({
5 method: 'POST',
6 path: '/webhooks/invoice',
7 handler: async (req) => {
8+ const body = await req.json()
9+ await db.invoices.update(
10+ { id: body.id }, { paidAt: new Date() }
11+ )
12+ return { ok: true }
13 },
14})
AGENTadd idempotency check on body.id ⏎ tab to accept
$ bun --hot src/server.ts
[api] ✓ listening on http://api.local.sursakit.dev
[api] ✓ connected to postgres@5432 (jj@a3f2c1)
[api] POST /webhooks/invoice 200 · 38ms
$
● jj@a3f2c1main ↑0 ↓0↪ :3000 :3001 :5432
UTF-8TypeScriptagent · idle
~/agent.panel
Agent commits, not suggests

// agent

Agent doesn't suggest.
It commits.

The agent has the same workspace you do. Same services running. Same tests. Same Jujutsu history. It writes code, runs it for real, and opens a real pull request you can review like a human's.

● agent.logtail -f
00:00agenttask received: 'add invoice.paid handler'
00:01agentspawn workspace · jj new -m 'invoice-paid'
00:03agentedit src/api/webhooks/invoice.ts (+38 −0)
00:09test running against local postgres · 14 passed
00:11agentPR opened → main · awaiting review
~/scale.panel
One workspace · many sessions

// scale

From your laptop
to your team — same shape.

workspace[ ]

One project, one workspace

Owned by your org. Holds every service, session, skill, and task. Members open it and pick up the same env vars and version-control state.

session[ ]

A session per task

Sessions are isolated runners on top of the workspace — yours, a teammate's, or Agent's. Same services, separate state, jj-tracked.

pull request[ ]

Sessions become PRs

When a session is ready, jj squashes it into a real Git PR against main. Preview URLs, reviews, and CI happen on the same workspace.

~/solution.panel
What changes for you

// solution

Same project.
Different day.

The same checkout API, the same migration, the same review — built two ways. One eats your week. One ships before standup.

● before · today
01$ clone repo, install N tools, miss one
02$ spin docker, port-conflict the second one
03$ switch to agent tab, paste a diff back
04$ merge two laptops' migrations by hand
05$ ship · maybe · friday
● after · sursakit
01$ open workspace · everything is already running
02$ edit code · DB and queue answer immediately
03$ assign agent · it tests, commits, opens PR
04$ jj history holds every session in one place
05$ ship · today · ⌘K → join
~/faq.panel
Things people ask

// faq

Honest answers,
before you ask.

The questions we get every week. If yours isn't here, email us — we read every one.

No. Import any repo from GitHub, GitLab, Bitbucket, or push a Docker image. Sursakit picks up your services from a Sursakit config or detects them from the existing setup, then runs them behind Traefik. No code changes required.

Jujutsu runs underneath, Git stays on the wire. Your remote is still GitHub or GitLab, your PRs are still Git PRs. Locally, jj gives the agent and the editor a much friendlier history model — but you don't have to think about it.

The agent runs in its own isolated container next to your services. Its capabilities are scoped through a token-signed MCP server, so it can never reach beyond what you've authorised — no cross-workspace, no host access, no surprise tool calls.

Workspaces run in our infrastructure (ap-south-1 today, more regions soon). Code is stored encrypted; databases are containerised per-workspace. Self-hosting on your own cluster is also a first-class deploy target — see the docs.

Free during beta. Going forward we'll meter compute via Stripe-backed credits with a generous free tier for individuals and per-seat pricing for teams. No credit card required to join the waitlist.

Yes — that's the point. The workspace is org-owned, members get role-based access. Every teammate's session and the agent's session sit on the same services and the same jj history.

~/join.panel
The only CTA

// join

The workbench is open.
Pull up a chair.

free during beta · made in 🇳🇵 · no credit card, no demo call