Skip to content
Agentmart
Submit a tool

AGENTS.md · jitsucom/jitsu

AGENTS.md from jitsucom/jitsu: 176 lines covering Project Overview, Repository Structure, Tooling, Common Commands and more.

Template by jitsucom

IndexedMIT★ 5,112
Write a review

Install

Works with Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Claude Code. Read the repository before you give any tool access to your data.

curl -fsSL https://raw.githubusercontent.com/jitsucom/jitsu/newjitsu/AGENTS.md -o AGENTS.md

Read it and adapt it to your project before use.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

The AGENTS.md file that jitsucom/jitsu (5,112 stars) keeps for coding agents. It has 176 lines in 8 sections: Project Overview; Repository Structure; Tooling; Common Commands; Running the app for the user; Dev scripts; Git Workflow; Deployments. Use it as a model for your own project's instructions.

Use cases: prompt-engineering, data-pipelines

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

What's in it

An AGENTS.md file: instructions coding agents (Codex, Cursor, Copilot, Gemini CLI and others) read before working in a repo.

For
Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Claude Code
Length
176 lines
File
AGENTS.md

Sections

  1. Project Overview
  2. Repository Structure
  3. Tooling
  4. Common Commands
  5. Running the app for the user
  6. Dev scripts
  7. Git Workflow
  8. Deployments

First lines (shown under the repo's MIT license)

# Jitsu — Agent Guidelines

## Project Overview

Jitsu is an open-source data pipeline platform (self-hosted Segment alternative). It
collects events from websites/apps and routes them to data warehouses and other
destinations.

## Repository Structure

This is a monorepo with two main technology stacks:

### Go (`/bulker`)

Data ingestion engine for streaming events to warehouses.

- `bulkerapp/` — main Bulker service
- `ingest/` — HTTP ingest endpoint
- `sync-controller/` — connector sync orchestration
- `bulkerlib/` — core ingestion library
- `connectors/` — warehouse connectors (ClickHouse, BigQuery, Redshift, Snowflake, S3,
  GCS, etc.)

### Node.js / TypeScript

**Services (`/services`)**
- `rotor/` — event routing, transformation, and function execution

**Web apps (`/webapps`)**
- `console/` — admin UI (Next.js)

> The enterprise-edition billing/admin API now lives in
> [`jitsucom/jitsu-cloud-billing`](https://github.com/jitsucom/jitsu-cloud-billing)
> (deployed at `billing.jitsu.com`).

**Libraries (`/libs`)**
- `jitsu-js/` — browser JS SDK (`@jitsu/js`)
- `jitsu-react/` — React bindings (`@jitsu/jitsu-react`)
- `functions/` — functions runtime (`@jitsu/functions-lib`)
- `juava/` — shared utilities

**CLI (`/cli`)**
- `jitsu-cli/` — developer CLI (`jitsu-cli` on npm)

**Types (`/types`)**
- `protocols/` — shared TypeScript protocols (`@jitsu/protocols`)

## Tooling

- **Node.js:** pnpm ≥10 (workspace manager), Turbo (build orchestration), Node.js ≥22
- **Go:** Go 1.26 with Go workspaces (`go.work` at repo root)
- **Frontend:** Next.js, React 18, TypeScript, Tailwind CSS
- **Testing:** Jest (unit), Playwright (E2E), Go's built-in `testing`
- **CI:** GitHub Actions (`.github/workflows/`)

## Common Commands

```bash
# Install JS dependencies
pnpm install

# Generate Prisma client + zod schemas (required once after a fresh checkout
# or worktree). Skipping this leaves Turbopack panicking in
# ModuleGraphImportTracer::get_traces because it can't render the missing-
# module error for `prisma/schema`.
pnpm codegen

# Build all JS packages
pnpm build:turbo

# Type-check
pnpm typecheck:turbo

# Run tests. Console tests include an integration project that needs Docker
# (testcontainers: Postgres + ClickHouse); run only the pure tests with
# `pnpm exec vitest run --project unit` from webapps/console.
# Details: CONTRIBUTING.md "Testing".
pnpm test

# Lint / format
pnpm lint
pnpm format

# Start all dev services (hot-reload)
pnpm dev

# Start only the console
pnpm console:dev
```

## Running the app for the user

If the user asks you to run the app (console / dev stack), use:

- `pnpm console:dev` — only console
- `pnpm ui:dev` — equivalent (turbo)

These go through [portless](https://portless.sh) and serve the app at
`https://console.jitsu.localhost`.

**Branch hosting.** The dev wrapper auto-detects the current git branch and
suffixes the dev host with it: `https://console-$BRANCH.jitsu.localhost`. This
avoids cookie / port collisions with whatever the user has running from another
branch.

- The repo's default branch (resolved via `git rev-parse origin/HEAD`) gets no
  suffix.
- The branch name is sanitized for DNS (lowercased, non-`[a-z0-9-]` → `-`,
  collapsed, capped at 30 chars).
- `pnpm console:dev --no-branch` disables the suffix (use the bare
  `console.jitsu.localhost` host).

If the user explicitly asks you not to use a branch suffix, pass `--no-branch`.

> Implementation note: `dev-scripts/src/bin/run-app.ts` loads root `.env` /
> `.env.local`, computes the slug, and runs portless from a non-git scratch dir
> with `--name <slug>` and a `bash -c "cd <ws> && <cmd>"` wrapper — sidesteps
> portless's hardcoded dot-style worktree prefix.

`portless` is a workspace devDependency — `pnpm install` is enough, no global
install. First-run on a machine prompts once for `sudo` to bind port 443 and
trust the local CA.

## Dev scripts

The `dev-scripts` package (`./dev-scripts`) hosts repo-wide developer tooling.
Invoke via `pnpm dev <subcommand>`:

```bash
pnpm dev                            # turbo run dev (start everything)
pnpm dev copy-db --src URL --dst URL   # rsync-style postgres copy ($ENV_VAR placeholders)
pnpm dev help
```

For Go (run inside `/bulker`):

```bash
go build ./...
go test ./...
```

## Git Workflow

When you need to create branches, make commits, or open pull requests, read
[CONTRIBUTING.md](CONTRIBUTING.md) first. No need to read it for code exploration —
only when interacting with git.

### Referencing Linear issues

When referencing a Linear issue in GitHub (PR descriptions, commit messages,
comments), use the bare issue id — `` `JITSU-67` `` — not a Linear URL or a
markdown link to one.

Before opening a PR, try to work out which Linear issue the work relates to —
check the branch name, search via the Linear MCP if it's available, or ask the
user with the question tool. If the PR clearly relates to an issue, prefix the
PR title with the issue id and put the id in the body. It's fine if there's no
issue — but offer to create one (when the Linear MCP is available).

## Deployments

Signals

Stars
5,112
Forks
403
Open issues
14
Contributors
30
Last commit (this folder)
Jul 8, 2026 (3 months ago)
Last release
Jul 9, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

AGENTS.md · jitsucom/jitsu. Agent Mart. https://agentmart.dev/templates/jitsucom-jitsu-agents-md (last updated 2026-10-24)