No description
  • TypeScript 95.2%
  • CSS 4.3%
  • Shell 0.3%
Find a file
reinitialized e3d3ed7ad8
Some checks failed
Immutable Bleu image release / validate (push) Failing after 39s
Immutable Bleu image release / publish (push) Has been skipped
chore: remove agent tooling and planning artifacts
2026-07-18 00:14:08 -05:00
.forgejo/workflows ci: add PR validation and harden image release workflow 2026-07-11 14:53:06 -05:00
.githooks feat(cmmc): support custom scheduled tasks and add commit-msg hook 2026-07-05 16:57:25 -05:00
.github/workflows ci: add PR validation and harden image release workflow 2026-07-11 14:53:06 -05:00
.vscode chore: record latest Codemax planning session metadata 2026-07-10 11:24:09 -05:00
apps ci: add PR validation and harden image release workflow 2026-07-11 14:53:06 -05:00
docs feat: integrate CMMC capabilities into BleuClient shell 2026-07-09 22:00:45 -05:00
infra ci: add PR validation and harden image release workflow 2026-07-11 14:53:06 -05:00
packages ci: add PR validation and harden image release workflow 2026-07-11 14:53:06 -05:00
planning chore: cleanup dependencies and centralize http utilities 2026-06-28 17:07:01 -05:00
scripts ci: add PR validation and harden image release workflow 2026-07-11 14:53:06 -05:00
wiki chore: ignore craftmax and plannerx tool artifact files 2026-07-11 15:04:06 -05:00
.clinerules docs: rename agent guide as Cline rules configuration 2026-07-07 23:24:35 -05:00
.dockerignore ci: add release workflow and improve CMMC app types 2026-06-23 15:08:48 -05:00
.gitignore chore: ignore craftmax and plannerx tool artifact files 2026-07-11 15:04:06 -05:00
.mcp.json chore: record latest Codemax planning session metadata 2026-07-10 11:24:09 -05:00
bun.lock chore: add repository audit plan and governance docs 2026-07-09 17:20:01 -05:00
bunfig.toml ci: add dependency audit and coverage gates to release 2026-07-09 19:21:52 -05:00
flake.lock docs: add Nix development shell configuration 2026-06-25 17:06:29 -05:00
flake.nix ci: add docker buildx support to release workflow and flake 2026-06-29 12:05:49 -05:00
package.json ci: add PR validation and harden image release workflow 2026-07-11 14:53:06 -05:00
README.md ci: add dependency audit and coverage gates to release 2026-07-09 19:21:52 -05:00
tsconfig.base.json refactor(bleusocial): centralize HTTP input validation 2026-07-07 22:25:15 -05:00
tsconfig.tools.json docs: add release readiness docs and app guidance updates 2026-07-07 14:55:40 -05:00

Bleu

Bleu is a Bun/TypeScript workspace for community operations and native community services.

  • CMMC is the administrative control plane for accounts, communities, policy, membership, cases, privacy, audit, product provisioning, and fleet management.
  • BleuBridge imports external community state and applies CMMC-owned actions through versioned service APIs.
  • BleuSocial owns native channels, threads, messages, events, engagement, notifications, news, profiles, and media-room metadata.
  • Bleu Client is the member-facing web app and same-origin gateway to community BleuSocial services.
  • BleuAgent is the outbound-only deployment agent used by CMMC-managed targets.

Release scope and known pre-release risks are tracked in docs/release-readiness.md. Planning material is directional and is not a release claim.

Quick start

Requirements: Bun and Git. The optional pinned Nix shell also supplies Node, Docker Compose, SQLite, curl, and common POSIX tools.

git clone <repository-url>
cd bleu
nix develop # optional
bun install --frozen-lockfile
bun run dev:cmmc

CMMC listens on http://127.0.0.1:3000 and stores development data in data/cmmc.sqlite by default. On first start, use the one-time setup token printed in the service log. Prototype databases from the pre-baseline migration chain must be reset with bun run dev:cmmc:reset or migrated with an explicit operator script.

Start another component in a separate terminal when needed:

# Bridge requires a Bridge-scoped CMMC service credential.
BLEUBRIDGE_CMMC_BASE_URL=http://127.0.0.1:3000 \
BLEUBRIDGE_SERVICE_TOKEN=cmmc_svc_... \
BLEUBRIDGE_ADMIN_TOKEN=bridge_admin_local_dev_token \
bun run dev:bleubridge

# Social may start unconfigured; these values enable CMMC bootstrap.
BLEUSOCIAL_CMMC_BASE_URL=http://127.0.0.1:3000 \
BLEUSOCIAL_SERVICE_TOKEN=cmmc_svc_... \
bun run dev:bleusocial

# Client needs a generic token with communities:read for gateway routing.
BLEU_CLIENT_CMMC_BASE_URL=http://127.0.0.1:3000 \
BLEU_CLIENT_SERVICE_TOKEN=cmmc_svc_... \
bun run dev:bleuclient

# Agent credentials are generated by CMMC Fleet Management.
BLEUAGENT_CMMC_BASE_URL=http://127.0.0.1:3000 \
BLEUAGENT_TARGET_ID=<deployment-target-id> \
BLEUAGENT_TOKEN=cmmc_agent_... \
bun run dev:bleuagent

Default local ports are CMMC 3000, BleuBridge 3001, BleuSocial 3002, and Bleu Client 3003.

Validate a change

bun test
bun run check
bun run build

Run one workspace suite with bun run --cwd apps/<name> test, where <name> is cmmc, bleubridge, bleusocial, bleuclient, or bleuagent. bun run check:repo-health performs the fast repository hygiene check used by documentation changes.

Docker development

docker compose -f infra/docker/compose.yml up --build

The base stack starts CMMC and Bleu Client. Optional profiles start internal product services:

COMPOSE_PROFILES=bridge BLEUBRIDGE_SERVICE_TOKEN=cmmc_svc_... \
docker compose -f infra/docker/compose.yml up --build

COMPOSE_PROFILES=social BLEUSOCIAL_SERVICE_TOKEN=cmmc_svc_... \
docker compose -f infra/docker/compose.yml up --build

Bridge and Social bind to host loopback; CMMC and Bleu Client are published on ports 3000 and 3003. Data is held in separate cmmc-data and bleusocial-data volumes. Do not treat this development Compose file as a complete internet-facing deployment: add TLS and a trusted reverse proxy, and follow the security and operations guides.

For the published :indev sandbox, use bun run indev:test, bun run indev:launch, bun run indev:console, or bun run indev:cleanup --dry-run. See the incident runbooks before destructive cleanup.

Repository layout

  • apps/cmmc: control plane, REST API, WebUI, SQLite store, and tests.
  • apps/bleubridge: synchronization service and generic/Discord adapters.
  • apps/bleusocial: native community API and independent SQLite store.
  • apps/bleuclient: member web app and CMMC-routed Social gateway.
  • apps/bleuagent: outbound deployment agent.
  • packages/http, shared, social-web, ssr, ui, db: shared runtime and UI packages.
  • infra/docker: image, Compose, and indev tooling.

Documentation

The current documentation contract is v1:

Versioning applies to the documentation contract, not to every browser route. Service integrations should use /api/service/v1/*; unversioned administrative and member routes may evolve with the application release.