sojustack-best-practices — community SojuStack, community, ide skills, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

Perfect for Full Stack Agents working with NestJS, TanStack, and Drizzle ORM, needing strict typing and naming conventions enforcement. sojustack-best-practices is a set of guidelines for managing a repository with NestJS, TanStack, and Drizzle ORM, ensuring idiomatic and safe changes.

Features

Enforces strict typing to avoid `any` and unsafe casts
Maintains a repository map with clear backend and frontend boundaries
Supports TanStack Start, TanStack Query, and TanStack Form for frontend development
Utilizes Drizzle ORM for efficient database management
Implements Better Auth for secure authentication
Follows naming and folder conventions for consistency
Rykuno Rykuno
[14]
[0]
Updated: 2/21/2026

Agent Capability Analysis

The sojustack-best-practices skill by Rykuno is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance.

Ideal Agent Persona

Perfect for Full Stack Agents working with NestJS, TanStack, and Drizzle ORM, needing strict typing and naming conventions enforcement.

Core Value

Empowers agents to maintain secure and consistent repositories by enforcing strict typing, avoiding `any` and unsafe casts, and matching naming and folder conventions, leveraging NestJS, Drizzle ORM, and TanStack Query.

Capabilities Granted for sojustack-best-practices

Enforcing strict typing in NestJS applications
Maintaining consistent naming conventions across TanStack projects
Validating repository structure for Drizzle ORM integrations

! Prerequisites & Limits

  • Requires repository structure consistency
  • Limited to NestJS, TanStack, and Drizzle ORM ecosystems
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

sojustack-best-practices

Install sojustack-best-practices, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command...

SKILL.md
Readonly

SojuStack Best Practices

Use this skill to keep changes idiomatic and safe in this repository.

Repository Map

  • Backend: apps/api/ (NestJS + Drizzle ORM + Better Auth)
  • Frontend: apps/web/ (TanStack Start + TanStack Query + TanStack Form + ShadCN/Base UI)
  • Shared config: packages/typescript-config/

Universal Rules

  • Keep scope tight to the user request; avoid opportunistic refactors.
  • Maintain strict typing; avoid any and unsafe casts.
  • Match naming and folder conventions already used in the touched area.
  • Prefer small reusable helpers over duplicate logic.
  • If behavior changes, update/add tests for the impacted area.

Frontend Rules (apps/web)

Routing (TanStack Start)

  • Keep route modules focused; move reusable logic to hooks or components.

Data Fetching (TanStack Query)

  • Use stable query keys like ['resource', id, 'sub-resource'].
  • Use invalidateQueries() without parameters when broad refresh is intended.
  • Keep server-state logic in query/mutation hooks, not presentational components.

UI (ShadCN + Base UI)

  • Prefer components from apps/web/src/components/ui/.
  • Prefer Base UI primitives over raw HTML where an equivalent exists.
  • Use cn() from apps/web/src/lib/utils.ts for class composition.
  • Keep Tailwind usage aligned with existing tokens and utility patterns.

Backend Rules (apps/api)

Database (Drizzle)

  • Add tables in apps/api/src/databases/tables/{name}.table.ts.
  • Export new tables from drizzle.schema.ts.
  • Add/update relations in drizzle.relations.ts.

Auth (Better Auth)

  • Follow existing setup in apps/api/src/auth/better-auth.provider.ts.
  • Use framework auth helpers (@Auth(), @ActiveUser(), @ActiveSession()) rather than ad hoc request parsing.

Transactions

  • Use @Transactional() with TransactionHost<DrizzleTransactionClient>.
  • Do not manually nest/start transactions via tx.transaction().

Services and Errors

  • Keep controllers thin; place business logic in services or providers.
  • Use NestJS exceptions (NotFoundException, UnauthorizedException, etc.) for expected failures.

API Type Safety

  • Treat apps/api/generated/openapi.d.ts as generated source of truth for E2E typing.
  • Use existing DTO and serialization patterns in the module.

Execution Workflow

  1. Read nearby code and existing module patterns.
  2. Implement the smallest correct change.
  3. Run repository validation commands from the repo root:
    • pnpm typecheck
    • pnpm format
    • pnpm lint
  4. If any of those commands fail, fix the issues and re-run until they pass.
  5. Ensure unrelated files are not modified.
  6. Report what changed, why, and how it was validated.

Do / Don't

Do

  • Prefer simplicity and human readability of code over complex or verbose implementations.
  • Heir on asking more questions rather than too little.
  • Beware of premature optimization
  • Reuse existing providers/utilities before adding abstractions.
  • Keep functions cohesive and predictable.
  • Add short comments only for non-obvious logic.

Don't

  • Introduce architectural shifts unless requested.
  • Add dependencies when existing stack primitives are sufficient.
  • Bypass validation, auth, or typing conventions.

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is sojustack-best-practices?

Perfect for Full Stack Agents working with NestJS, TanStack, and Drizzle ORM, needing strict typing and naming conventions enforcement. sojustack-best-practices is a set of guidelines for managing a repository with NestJS, TanStack, and Drizzle ORM, ensuring idiomatic and safe changes.

How do I install sojustack-best-practices?

Run the command: npx killer-skills add Rykuno/SojuStack. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for sojustack-best-practices?

Key use cases include: Enforcing strict typing in NestJS applications, Maintaining consistent naming conventions across TanStack projects, Validating repository structure for Drizzle ORM integrations.

Which IDEs are compatible with sojustack-best-practices?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for sojustack-best-practices?

Requires repository structure consistency. Limited to NestJS, TanStack, and Drizzle ORM ecosystems.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add Rykuno/SojuStack. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use sojustack-best-practices immediately in the current project.

Related Skills

Looking for an alternative to sojustack-best-practices or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI