Getting Started
Quick Start
Set up the HanseNexus monorepo for local development
Prerequisites
- Node.js 22+ — required runtime
- Bun — package manager (
curl -fsSL https://bun.sh/install | bash) - 1Password CLI — for secret management (
brew install --cask 1password-cli) - Docker — optional, only needed for Kubernetes-related work
Clone and Install
git clone git@github.com:Lenoux01/hn-monorepo.git
cd hn-monorepo
bun install
Environment Setup
All dev scripts require a 1Password Service Account token for ephemeral secret injection. Secrets are never written to disk.
# Add to ~/.zshrc (get token from 1Password admin)
export OP_SERVICE_ACCOUNT_TOKEN="ops_..."
source ~/.zshrc
Each app has an .env.op file (committed to git) containing op:// references that are resolved at runtime by op run. Literal values (non-secret dev defaults) pass through unchanged.
Running Apps
Run a single app with secrets injected:
bun dev:lexilink
bun dev:calnexus
bun dev:planex
bun dev:archus
bun dev:nexus-lms
bun dev:elbe-akustik
bun dev:bgs-service
bun dev:portfolio
bun dev:qript
Run all apps simultaneously:
bun dev
Building
Build all apps and packages:
bun run build
Build a single app:
turbo build --filter=calnexus
Testing
Run unit tests (Vitest):
bun test
Run E2E tests (Playwright):
bun test:e2e
Linting and Formatting
Lint the codebase with Biome:
bun run lint
Format code with Biome:
bun run format
Type check all apps and packages:
bun run typecheck
Clean
Remove build artifacts and caches:
bun run clean