A Next.js + TypeScript + Tailwind research catalog for source-backed books, articles, interviews, videos, statements, reports, speeches, profiles, and other public records connected to Ambassador Godknows Igali. It uses SQLite + Drizzle locally and keeps public publication behind an explicit approval gate.
The current import source is:
docs/Ambassador_Godknows_Igali_Exhaustive_Master_Catalog_223_Records.json
It contains 223 records: 195 verified, 21 needs review, and 7 candidates. The SQLite seed includes all 223 records and their available provenance, sources, rights notes, identifiers, participants, topics, and research notes. Only approved verified records are public; needs-review and candidate records remain private.
npm install
npm run db:migrate
npm run catalog:replace -- --confirm-replace
npm run catalog:approve-initial
npm run devOpen http://localhost:3000.
The seed commands accept either a positional JSON path or CATALOG_SOURCE_FILE. Set the production database path/connection configuration in the deployment environment, never in committed files.
# Validate a source before importing it
CATALOG_SOURCE_FILE=/secure/catalog.json npm run catalog:validate
# Idempotently import a source without deleting existing catalog rows
CATALOG_SOURCE_FILE=/secure/catalog.json npm run catalog:import
# Deliberately replace catalog-owned tables only (requires explicit confirmation)
CATALOG_SOURCE_FILE=/secure/catalog.json npm run catalog:replace -- --confirm-replace
# Approve the research-verified initial collection after import
CATALOG_APPROVAL_ACTOR=production-curator npm run catalog:approve-initial
# Machine-readable reconciliation report
npm run catalog:verify-importcatalog:replace clears only the catalog tables managed by this application; it does not delete unrelated future application tables. It always requires --confirm-replace, including in production. The import is staged and idempotent when using catalog:import; the replacement command is for a deliberate full-corpus refresh.
npm run catalog:validate
npm run catalog:test-import
npm run catalog:test-repository
npm run catalog:test-url
npm run lint
npm run typecheck
npm run buildAn editor/dashboard UI is not implemented yet. New material is currently introduced through a reviewed research JSON file and the import workflow above. A future dashboard should write the same provenance, review, and publication-approval fields rather than bypassing them.
Do not upload or rehost copyrighted books, articles, videos, or full transcripts unless permission exists. Store metadata, citations, source links, and permitted embeds only.