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
24 changes: 12 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ jobs:
name: Type Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- uses: pnpm/action-setup@v4
- uses: pnpm/action-setup@v6

- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 22
node-version: 24
cache: pnpm

- name: Install dependencies
Expand All @@ -31,13 +31,13 @@ jobs:
runs-on: ubuntu-latest
needs: typecheck
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- uses: pnpm/action-setup@v4
- uses: pnpm/action-setup@v6

- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 22
node-version: 24
cache: pnpm

- name: Install dependencies
Expand All @@ -50,13 +50,13 @@ jobs:
name: Security Audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- uses: pnpm/action-setup@v4
- uses: pnpm/action-setup@v6

- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: 22
node-version: 24
cache: pnpm

- name: Install dependencies
Expand Down
19 changes: 16 additions & 3 deletions .github/workflows/wiki-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,31 @@ jobs:
sync:
name: Sync docs to GitHub Wiki
runs-on: ubuntu-latest
env:
WIKI_PAT: ${{ secrets.WIKI_PAT }}
steps:
- name: Check WIKI_PAT secret
if: env.WIKI_PAT == ''
run: |
echo "::error::WIKI_PAT secret is missing. Add it in Settings → Secrets and variables → Actions."
exit 1

- name: Checkout main repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 1

- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: 24

- name: Checkout wiki repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
repository: andriansandi/inbix.wiki
path: wiki
token: ${{ secrets.WIKI_PAT }}
token: ${{ env.WIKI_PAT }}

- name: Sync documentation files
run: bash scripts/sync-wiki.sh
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
22
24
2 changes: 2 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Monorepo: pnpm workspaces + turbo. Single Cloudflare Worker serves API + SPA.

- Repo: `git@github.com:andriansandi/inbix.git`
- Production: `https://inbix.xyz`
- Minimum Node.js version: **24** (see `.nvmrc`)

## Local Development

Expand Down Expand Up @@ -49,6 +50,7 @@ npx wrangler d1 execute inbix --local --config wrangler.jsonc --command="INSERT
- User merges via GitHub UI
- After merge: `git checkout main && git pull`
- Deployment is done via GitHub (CI/CD), NOT manual `wrangler deploy`
- The `wiki-sync.yml` workflow requires a repository secret named `WIKI_PAT` (PAT with `repo` scope) to push docs to the GitHub Wiki
- User communicates in Indonesian; respond in same language
- **At the start of every session: run `pnpm dev` locally to ensure web + API are running before starting any work**
- Run `pnpm typecheck` before PR
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Thank you for your interest in contributing to Inbix! This document covers every

## Prerequisites

- Node.js 22+
- Node.js 24+
- pnpm 11+
- A Cloudflare account (for testing Workers locally)
- Git
Expand Down
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ Then follow the [Deployment Guide](https://github.com/andriansandi/inbix/wiki/De

For local development, see the [Development Guide](https://github.com/andriansandi/inbix/wiki/Development).

## Requirements

- **Node.js** 24+ ([`.nvmrc`](./.nvmrc))
- **pnpm** 11+ ([package.json](./package.json))
- A **Cloudflare account** with a domain managed by Cloudflare DNS

## What is Inbix?

Inbix is an open-source, Cloudflare-native email infrastructure platform. It gives you disposable, programmable inboxes that can be created and consumed through a REST API, TypeScript SDK, webhooks, and an official MCP server — making it ideal for developers, test automation, CI/CD, and AI agents.
Expand Down Expand Up @@ -181,7 +187,9 @@ inbix/

## Documentation

All detailed documentation lives in the [GitHub Wiki](https://github.com/andriansandi/inbix/wiki):
All detailed documentation lives in the [GitHub Wiki](https://github.com/andriansandi/inbix/wiki). The Wiki is kept in sync with this repository via [`.github/workflows/wiki-sync.yml`](./.github/workflows/wiki-sync.yml). To enable auto-sync, create a one-time repository secret named **`WIKI_PAT`** in `Settings → Secrets and variables → Actions` (use a Personal Access Token with `repo` scope).

Wiki pages:

- [Quick Start](https://github.com/andriansandi/inbix/wiki/Quick-Start)
- [Deployment Guide](https://github.com/andriansandi/inbix/wiki/Deployment)
Expand Down
2 changes: 1 addition & 1 deletion docs/DEPLOYMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This guide walks through deploying Inbix to Cloudflare from scratch.
## Prerequisites

1. **Cloudflare Account** — [Sign up](https://dash.cloudflare.com/sign-up) (free tier is sufficient)
2. **Node.js 22+** — [Download](https://nodejs.org) (required by pnpm 11's `node:sqlite`)
2. **Node.js 24+** — [Download](https://nodejs.org) (required by pnpm 11's `node:sqlite`; see repo `.nvmrc`)
3. **pnpm** — `npm install -g pnpm`
4. **Domain in Cloudflare** — Your domain must use Cloudflare DNS for Email Routing

Expand Down
8 changes: 8 additions & 0 deletions docs/DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

## Local Setup

### Requirements

- Node.js 24+ (see repo `.nvmrc`)
- pnpm 11+
- A Cloudflare account (for local D1/R2/KV emulation)

### Install

```bash
git clone https://github.com/andriansandi/inbix.git
cd inbix
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,6 @@
},
"packageManager": "pnpm@11.9.0",
"engines": {
"node": ">=22"
"node": ">=24"
}
}
Loading