Files
c0py/AGENTS.md
T
admin 5522b3bd3b
CI (SIAX Cloud) / contracts (push) Successful in 15s
CI (SIAX Cloud) / security (push) Successful in 31s
CI (SIAX Cloud) / quality (push) Successful in 49s
Deploy to Coolify / deploy (push) Failing after 1s
docs: production deployment facts, DNS/TLS pattern, Coolify gotchas
2026-09-16 21:47:07 +02:00

2.6 KiB

C0PY — AGENTS.md

Repo-konventioner

  • Package manager: pnpm (frozen-lockfile)
  • Framework: Next.js (apps/web), Fastify (apps/api)
  • TypeScript: strict mode, bundler module resolution
  • CI: Gitea Actions — .gitea/workflows/ci.yml
  • Deploy: Coolify via .gitea/workflows/deploy.yml
  • Secrets: Infisical (vault.siax.io) — ALDRIG i repo
  • Testing: vitest (apps/api, packages/*)
  • Lint: eslint flat config
  • OTel: not yet wired — add bootstrap at apps/api/src/index.ts entry when available
  • Tenant: bound to session via CL0UD, NEVER from client input

Drift (Coolify)

  • App UUID API: wvmn6eg40jofssvm3nigmav6, server6 — c0py-api.siax.io
  • App UUID Web: 58pa82h4qlzcwsc4shreuwk0, server6 — c0py-web.siax.io (Dockerfile.web)
  • Postgres UUID: qhucpjjpv3mx9jupqkbyf5uh, server6
  • Images: <app-uuid>:latest (built on server6 from /tmp/c0py-build)
  • Deploy: docker build -t <app-uuid>:latest . && cd /data/coolify/applications/<app-uuid> && docker compose up -d
  • DNS: c0py-api + c0py-web → 65.109.19.146 (Cloudflare A, DNS-only — proxied ger TLS-fail på tredjenivå)
  • Coolify API: POST /api/v1/applications/dockerfile (NOT /api/v1/applications)
  • Health check: GET /health → 200 (wget-based, Fastify HTTP)
  • ⚠️ c0py.siax.io apex är Worker-kapad ("Hello World!") — ej åtgärdbar utan Workers-perms
  • Coolify dockerfile+git-buildpack: trasig för detta monorepo (build-context saknar repo-träd) — bygg manuellt

Kontrakt

  • API-kontrakt: contracts/openapi.yaml
  • Schema-versionshantering: semantisk versionering i packages/types
  • Digital Twin Spec: docs/spec/DIGITAL-TWIN-SPEC.md (fullständig specifikation för webbplats-analys och identisk reproduktion)

Fällor

  • NEXT_PUBLIC_* ska ALDRI innehålla hemligheter
  • Alla writes till AUD0/ST0RE via klientskikt, aldrig direkt
  • Crawling ska vara throttle-ad och respect robots.txt
  • Docker COPY over build stages bryter pnpm-symlinks — kör pnpm install --frozen-lockfile i runtime-staget, lägg till tsx-symlink efteråt
  • tsx är devDependency i @siax/c0py-api — pnpm länkar workspace-devDeps INTE till rot-nivå
  • Auth: preHandler hook kollar Authorization: Bearer *-header, returnerar 401 annars
  • GitHub push: använd gh auth login (keyring), INTE inbäddade tokens i URLs
  • Coolify compose på disk kan vara stale — labels/port regenereras ej vid misslyckad deploy; sed:a compose-filen + docker compose up -d, och docker rm -f gammal container (den lever kvar vid recreate)