Setup Guide

Prerequisites

  • Node.js >= 18.0.0
  • pnpm >= 8.0.0

Installation

  1. Clone the repository
  2. Install dependencies:
pnpm install
  1. Copy environment variables:
cp env.example .env
  1. Configure S3 credentials in .env:
S3_ENDPOINT=https://gateway.storjshare.io
S3_BUCKET=gitbucket
S3_REGION=us-east-1
S3_ACCESS_KEY=your-access-key
S3_SECRET_KEY=your-secret-key

For GitHub Packages authentication (to install @decoperations/s3worm):

export GITHUB_TOKEN=your-github-token

Development

Start the development server:

pnpm dev

This will start the Next.js app at http://localhost:3000.

Building

Build all packages:

pnpm build

Type Checking

Run TypeScript type checking:

pnpm type-check

Building the CLI

The gib CLI lives at apps/cli/. To build the binary:

pnpm --filter @gitbucket/gib build
# Binary at apps/cli/dist/index.js

Or run it directly during development:

pnpm --filter @gitbucket/gib dev -- --help

Full CLI reference: CLI.md.

Project Structure

  • apps/web/ — Next.js application (the platform)
  • apps/cli/@gitbucket/gib CLI
  • packages/entities/ — domain entity classes
  • packages/storage/ — pluggable storage adapters + the shared GitEngine
  • docs/ — documentation

Next Steps

  1. Implement authentication (JWT, password hashing)
  2. Add server-side pack-aware reads to GitEngine so gib push --pack can be enabled
  3. Build out UI for branch/file/diff browsing
  4. PR workflow UI