AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Ait

skill-mateonunez-skills-ait · by mateonunez

Architectural invariants for ait — my personal AI platform. pnpm monorepo, Fastify gateway, Drizzle ORM, Qdrant vectors, Ollama generation, BullMQ scheduling, OAuth connectors (GitHub/Spotify/Linear/Notion/Slack/Google). Use when working in the ait repo, when proposing changes to connectors / RAG / scheduler, or when user mentions "ait", a connector name, or RAG.

No reviews yet
0 installs
56 views
0.0% view→install

Install

$ agentstack add skill-mateonunez-skills-ait

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-mateonunez-skills-ait)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Ait? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

ait

Personal AI platform. Private repo. Public skills (result-not-throw, vertical-slices, node-native-tests, single-tool-per-job) all apply here — this is where they originated. This skill records ait-specific invariants.

Stack invariants

  • Monorepo: pnpm + workspace protocol. Packages scoped @ait/*.
  • Gateway: Fastify 5. ORM: Drizzle (PostgreSQL).
  • Vectors: Qdrant. Generation: Ollama (local). Telemetry: Langfuse. Queue: BullMQ (Redis).
  • Storage: MinIO. UI: React + Vite (UIt).
  • Linter: Biome 1.9 (legacy). Don't migrate to 2.x without asking — config differences would noise the diff.

Conventions specific to this repo

  • Error handling: Result everywhere in business logic. Throws only at boundaries (Fastify handlers, CLI). See the public result-not-throw skill — this repo is the canonical example.
  • Naming: PascalCase classes, I-prefix interfaces, camelCase methods, SCREAMING_SNAKE constants, kebab-case files. Type files: *.types.ts. Test files: *.spec.ts.
  • Entity types: every domain entity has a __type discriminator string. Used by the ETL pipeline to route normalisation.
  • Connectors: factory pattern. connectorServiceFactory.getServiceByConfig(configId, userId) is the entry point. Don't import connectors directly.
  • OAuth credentials: encrypted at rest. The factory handles refresh — don't roll your own token logic.
  • Tests: node:test + borp + c8. Docker services start automatically via pnpm test.

Anti-patterns specific to this repo

  • Throwing in a service method. Use Result. The codebase will read inconsistent if you don't.
  • Importing a specific connector module (e.g. from '@ait/connector-spotify/internals') instead of going through the factory.
  • Adding a new connector without registering it in the factory — it'll work in tests and silently miss in prod.
  • Migrating Biome 1.9 → 2.x as a side-effect of another change.
  • Adding Jest, Vitest, ESLint, or Prettier. All four are explicitly excluded by the public skills. ait predates them.
  • Storing Spotify/GitHub/etc. tokens unencrypted. Always go through the credential layer.

References

  • [core-architecture](references/core-architecture.md) — layered architecture, data flow, package structure
  • [core-entity-types](references/core-entity-types.md) — normalised __type discriminator entities
  • [core-result-type](references/core-result-type.md) — Result, ok(), err() usage
  • [features-oauth](references/features-oauth.md) — encrypted credentials, factory pattern, refresh
  • [features-rag](references/features-rag.md) — Qdrant, multi-query retrieval, reranking, streaming
  • [features-scheduler](references/features-scheduler.md) — BullMQ, priority queues, repeatables
  • [features-connectors](references/features-connectors.md) — connector catalogue + factory
  • [best-practices-testing](references/best-practices-testing.md) — node:test, Docker services, c8

Ports + env

PostgreSQL: 5432 | Qdrant: 6333 | Redis: 6379
Ollama: 11434    | MinIO: 9090  | Langfuse: 3333
Gateway: 3000    | UIt: 5173

GENERATION_MODEL=gemma3:latest
EMBEDDINGS_MODEL=mxbai-embed-large:latest

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.