Jules bc30c4cede refactor(civi-crm/web): drop CiviCRM integration
* refactor(civi-crm): remove case management pages and API

The Circle Case UI, its API routes and the CiviCRM query layer they used
are gone. Keeps the app shell out entirely: no pages remain, so the
layout, styles and UI dependencies go with them.

* refactor(civi-crm): drop CiviCRM write from the intake endpoint

Submissions now go to Notion and, for the steward form, n8n. The legacy
afformCircleContactForm name was CiviCRM-only and is no longer accepted;
the fields[] payload is ignored.

* chore(web): remove CiviCRM afform generator scripts

They fetched form definitions from the CiviCRM API, which is gone. The
generated files under lib/civicrm are hand-maintained from now on.

* refactor(web): trim funnel form definitions and move to lib/funnel-forms

Fields keep only what renders the form: formKey, label, inputType,
required, repeatable. The CiviCRM entity/join/fieldName plumbing and the
fields[] POST payload are gone, along with the unused circle contact
form.

country was marked required but exempt from validation through its
CiviCRM Address join, so it is now enforced like every other required
select.

* docs: rewrite civi-crm and funnel docs for the intake-only app

Drops the CiviCRM API guide and the case management architecture, and
updates the funnel reference to the Notion + n8n flow.
2026-08-13 22:44:23 +09:00
2026-05-19 17:57:00 +09:00
2026-04-20 22:24:39 +09:00
2026-05-19 17:57:00 +09:00
2026-06-02 09:13:55 +02:00
2026-06-04 13:56:30 +09:00
2026-06-04 13:56:30 +09:00
2026-08-10 20:41:36 +09:00
2026-04-20 22:24:39 +09:00
2026-08-05 13:29:45 +02:00

logos-co

pnpm + Turborepo monorepo for the Logos website and its content CMS

  • apps/web — public Next.js 16 site (Tailwind v4, next-intl, static export)
  • apps/cms — Payload CMS 3.x admin (Postgres-backed; edits ship as GitHub PRs)
  • packages/content — content schemas, loaders for content/**, GitHub mutation helpers
  • packages/ui — shared React primitives and SVG icons (<LogosMark />, etc.)
  • packages/tokens — design tokens
  • packages/types — shared types incl. Payload-generated
  • packages/config — shared ESLint / TypeScript / Prettier config
  • content/** — production source of truth (pages, press, circles, builders-hub, site)

Apps are entrypoints only. Shared logic lives in packages. The web app reads content/** at build time and never calls GitHub at request time.

Requirements

Node 24, pnpm 11.1.0.

Quick start

pnpm install
pnpm dev            # web → http://localhost:3000, cms → http://localhost:3001

Payload Admin: http://localhost:3001/admin.

apps/cms requires PAYLOAD_SECRET and DATABASE_URL (Postgres). Copy apps/cms/.env.example to apps/cms/.env and fill it in. See docs/deployment.md for the full env matrix.

Workspace package builds

Apps consume internal packages (@acid-info/logos-ui, @acid-info/logos-content, etc.) through their compiled dist/ outputs declared in each package's exports map. Turborepo's dev task declares dependsOn: ["^build"], so pnpm dev builds upstream packages before starting the app servers.

If a dist/ directory goes missing (e.g. after git clean -fdx or manually removing node_modules) and an app is started directly without going through pnpm dev, you may see errors like:

Module not found: Can't resolve '@acid-info/logos-ui/client'

Rebuild the affected workspace package to fix it:

pnpm --filter @acid-info/logos-ui build

Or run pnpm build once at the repo root to compile every package.

Common scripts

pnpm build           # web static export + cms build
pnpm test            # vitest (apps/web)
pnpm lint            # eslint --max-warnings 0
pnpm check-types     # next typegen + tsc --noEmit
pnpm generate-types  # regenerate packages/types/src/payload.ts from Payload schema

Branch model

  • develop — default branch + staging. CMS-generated content PRs target this
  • master — production (created when production deploys spin up)

Direct pushes to either are blocked by branch protection.

Documentation

S
Description
No description provided
Readme
1.7 GiB
Languages
TypeScript 90.5%
CSS 5.3%
JavaScript 2.3%
HTML 1.5%
Dockerfile 0.2%
Other 0.2%