A TypeScript monorepo for vendor-neutral infrastructure ports and vendor-specific adapters.
@codectyl/agnostic-corecontains the public ports and shared entities.@codectyl/agnostic-adapter-supabasecontains the Supabase auth and storage adapters.
agnostic-core exports AuthPort, CachePort, QueuePort, and StoragePort.
It also exports FileReference and FileReferenceSchema.
It includes dependency-free implementations for local use and tests:
InMemoryCache and LocalAsyncQueue.
Ports define what callers need to know. Adapters hide SDKs, persistence details, configuration, and vendor-specific behavior behind those ports.
Install dependencies and validate every workspace package from the root:
pnpm install
pnpm typecheck
pnpm buildRead AGENTS.md for repository instructions,
docs/ARCHITECTURE.md for package ownership, and
docs/ROADMAP.md for planned work.
Add a changeset for package changes:
pnpm changesetAfter the change reaches main, GitHub Actions creates or updates a release
PR with package versions and changelogs. Merging that release PR builds and
publishes the affected packages to GitHub Packages.