Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,4 @@ temp
# OS files
.DS_Store
Thumbs.db
devenv
docker
2 changes: 1 addition & 1 deletion .github/workflows/build-builder-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# HOW IT'S USED:
# - The lint.yml workflow uses this image as a container for running builds, tests, and linting
# - Workflow triggers: automatically on changes to builder.Dockerfile on newjitsu branch, or manually via workflow_dispatch
# - Publishes to: ghcr.io/<owner>/jitsu-builder:latest
# - Publishes to: <owner>/jitsu-builder:latest
# - Uses GitHub Actions cache backend (type=gha) for fast layer caching (up to 10GB per repo)
#
name: 👷🏼‍♂️Create Builder Docker Image
Expand Down
35 changes: 18 additions & 17 deletions .github/workflows/claude-review.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,34 @@

name: Claude Code Review

on:
pull_request:
types: [opened, synchronize, ready_for_review]
types:
- opened # PR is created
- reopened # PR was closed, then opened again
- synchronize # New commits pushed to the PR (branch updated)
- edited # PR title/body/base-branch changed
- ready_for_review # PR moved from draft → ready

jobs:
claude-review:
name: 🤖 Claude Code Review
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
permissions:
contents: read
pull-requests: write
issues: write
id-token: write

steps:
- name: 🔑 Check for Anthropic API key
id: check-secret
run: |
if [ -n "${{ secrets.ANTHROPIC_API_KEY }}" ]; then
echo "has_key=true" >> $GITHUB_OUTPUT
else
echo "has_key=false" >> $GITHUB_OUTPUT
echo "⚠️ Skipping Claude review: ANTHROPIC_API_KEY not available (external PR or secret not configured)"
fi
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: 🤖 Run Claude Code Review
if: steps.check-secret.outputs.has_key == 'true'
id: claude
- name: Run Claude Code Review
if: ${{ github.event.pull_request.draft == false }}
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
prompt: "/review-pr REPO: ${{ github.repository }} PR_NUMBER: ${{ github.event.pull_request.number }}"
claude_args: |
--allowedTools "mcp__github_inline_comment__create_inline_comment"
2 changes: 1 addition & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,5 @@ libs/jitsu-js/dist/
/libs/jsondiffpatch/coverage/
.github
services/rotor/__tests__/artifacts
devenv/data
docker/
bulker
10 changes: 6 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Prerequisites

- `node: 22.x`
- `node: >=22`
- `npx`
- `pnpm: >= 10`
- `docker: >= 19.03.0`
Expand All @@ -13,14 +13,16 @@
- `pnpm format:check` - Check if prettier needs to be applied, check only changed files
- `pnpm format:check:all` - Check if prettier needs to be applied. Check all files
- `pnpm format:all` - Same as `pnpm format`, but check all files, regardless of changes
- `pnpm lint` - Run typecheck
- `pnpm typecheck` - Run typecheck
- `pnpm lint` - Run linter
- `pnpm test` - Run tests

# Local Dev Env

Run `docker compose -f ./devenv/docker-compose.yml up --force-recreate` to start all dependencies required to run Jitsu. See
`./devenv/docker-compose.yml` top comments for list of services and debug tools
Run
* `docker compose -f ./docker/docker-compose.yml up --force-recreate` to start all dependencies required to run Jitsu.
* `docker compose -f ./docker/docker-compose.yml up --profile jitsu-services-dev --force-recreate` - to run dependencies + all Jitsu services
in a hot reload mode, see `docker/README.md`



Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,10 @@ The fastest way to install jitsu is [docker compose](https://docs.jitsu.com/self
# Clone the repository
git clone --depth 1 https://github.com/jitsucom/jitsu
cd jitsu/docker
# Copy .env.example to .env, see instructions at https://docs.jitsu.com/self-hosting/quick-start#edit-env-file
cp .env.example .env
# Optionally, edit .env.local file and set env variables, see README.md in `docker` folder
touch .env.local
#

```

### Deploy at scale
Expand Down
5 changes: 5 additions & 0 deletions all.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ COPY . .
# CI: some packages behave differently in CI (e.g., disable interactive prompts)
ENV NEXTJS_STANDALONE_BUILD=1
ENV CI=${CI}
# Note: pnpm build now includes building the management CLI (build:manage)
RUN pnpm build

# ============================================================================
Expand Down Expand Up @@ -135,6 +136,10 @@ COPY --from=builder /app/webapps/console/.next/standalone ./
COPY --from=builder /app/webapps/console/.next/static ./webapps/console/.next/static
COPY --from=builder /app/webapps/console/public ./webapps/console/public

# Copy management CLI script (bundled with esbuild)
# This allows running management commands like: node /app/webapps/console/build/manage.js seed
COPY --from=builder /app/webapps/console/build/manage.js ./webapps/console/build/

# Setup cron for scheduled tasks (e.g., cleanup, analytics aggregation)
# chmod 0644: cron requires specific permissions (owner read/write, others read)
# crontab: Install the cron schedule
Expand Down
1 change: 0 additions & 1 deletion devenv/.env

This file was deleted.

1 change: 0 additions & 1 deletion devenv/.gitignore

This file was deleted.

Loading
Loading