Pass one of these values as sub_need_type when building structured sub-needs for get_stack. Using a value outside this list returns invalid_sub_need_type.
| sub_need_type | Layer | Examples |
|---|---|---|
framework | Application | Next.js, Rails, Django, Spring Boot |
language_runtime | Application | Node.js, Bun, Deno |
database | Data | Postgres, MySQL, MongoDB |
orm | Data | Prisma, Drizzle, SQLAlchemy, TypeORM |
cache | Data | Redis, Dragonfly, Memcached |
search | Data | Elasticsearch, Typesense, Meilisearch |
queue | Infra | BullMQ, RabbitMQ, SQS, pg-boss |
stream_processing | Infra | Kafka, Pulsar, Redpanda |
auth | Security | Auth.js, Clerk, Supabase Auth, WorkOS |
payment | Business | Stripe, Paddle, Lemon Squeezy |
email | Business | Resend, Postmark, SendGrid |
analytics | Observability | PostHog, Mixpanel, Plausible |
observability | Observability | Sentry, Datadog, Grafana |
logging | Observability | Pino, Winston, Logflare |
testing | DX | Vitest, Jest, Playwright, Pytest |
ci_cd | DX | GitHub Actions, CircleCI, Buildkite |
feature_flags | DX | GrowthBook, LaunchDarkly, Flagsmith |
storage | Data | S3, R2, Backblaze B2 |
cdn | Infra | Cloudflare, Fastly, Vercel Edge |
reverse_proxy | Infra | Caddy, Traefik, nginx |
container_orchestration | Infra | Kubernetes, Nomad, Docker Swarm |
deployment | Infra | Vercel, Railway, Fly.io, Render |
cms | Business | Sanity, Contentful, Strapi |
ai_provider | AI | OpenAI, Anthropic, Google, Ollama |
vector_db | AI | managed and self-hosted vector indexes |
embeddings | AI | managed embedding APIs and OSS models |
workflow | AI | Temporal, Inngest, Trigger.dev |
sync | Collaboration | Yjs, Automerge, Liveblocks |
Missing a layer?
If your stack has a layer that isn't covered here, please file an issue via suggest_graph_update — the enum expands as the graph grows.