Files
arcadia-admin/scripts/build-docs-index.mjs
jules 938143f3f5 refactor: rename service references arcadia-app → arcadia-core
The Phoenix auth/identity/tenancy backend repo is being renamed
arcadia-app → arcadia-core (its primary OTP app is already arcadia_core).
Updates prose, doc paths, and git.sky-ai.com repo URLs. Deliberately
leaves the Rust crate arcadia-app-client and host arcadia-app.internal
(handled separately), and the kept namespace (issuer/release "arcadia").

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 13:40:25 +10:00

51 lines
2.1 KiB
JavaScript

#!/usr/bin/env node
// Build the /docs-index.json bundle consumed by @crema/lexical-rag-ui at
// runtime. Thin wrapper — all engine logic lives in the lib's builder.ts;
// this file owns the per-app config (which arcadia-core docs to index and
// how to tag them).
//
// Run: npm run build:docs
//
// Allowlist is intentional. Excluded files are aspirational/stale and
// would poison answers (TODO lists, design docs for unshipped features,
// sub-app READMEs that aren't part of arcadia-core). To add a file,
// append to SOURCES below — don't auto-discover.
import { resolve, dirname } from "node:path"
import { fileURLToPath } from "node:url"
import MiniSearch from "minisearch"
import { buildIndex } from "../../lib-lexical-rag-ui/src/builder.mjs"
const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..")
const ARCADIA = resolve(ROOT, "../reference/arcadia-core")
const OUT = resolve(ROOT, "public/docs-index.json")
const SOURCES = [
// Arcadia platform docs (resolved against ARCADIA = ../reference/arcadia-core).
{ path: "README.md", tags: ["core"] },
{ path: "docs/ARCADIA.md", tags: ["core"] },
{ path: "docs/MODULAR_MONOLITH.md", tags: ["core"] },
{ path: "apps/arcadia_core/README.md", tags: ["core"] },
{ path: "DEPLOY.md", tags: ["ops"] },
{ path: "DEV_DEPLOY.md", tags: ["ops"] },
{ path: "DEV_SETUP.md", tags: ["ops"] },
// RAG ecosystem docs — pulled from sibling repos via per-source
// rootDir override. Lets the assistant answer "how do I add a
// tenant to arcadia-search" or "what does the browser RAG do"
// without leaving the chat.
{ rootDir: "../../arcadia-search", path: "README.md", tags: ["rag", "search-service"] },
{ rootDir: "../../arcadia-search", path: "MULTI_TENANT.md", tags: ["rag", "search-service"] },
{ rootDir: "../../arcadia-search", path: "ARCADIA_INTEGRATION.md", tags: ["rag", "integration"] },
{ rootDir: "../../lib-lexical-rag-ui", path: "README.md", tags: ["rag", "browser"] },
{ rootDir: "../../arcadia-admin", path: "docs/RAG.md", tags: ["rag", "overview"] },
]
buildIndex({
miniSearch: MiniSearch,
rootDir: ARCADIA,
outPath: OUT,
sources: SOURCES,
})