Skill Tech

Tech Stack

Tech stack selection by project type (static, API, full-stack, etc.). Use when creating a new project, service, or module or when choosing technologies.

Overview

Tech Stack provides strict rules for selecting technologies based on project type. When creating a new project, service, or module, the agent selects the stack automatically from a decision tree — no guessing, no inventing, no asking. The core principles are: simplicity over complexity, performance over convenience, widely adopted tools with strong communities.

Project Types and Stacks

  • Static Landing — HTML, CSS, Tailwind, Alpine.js (optional). No SPA.
  • Static Multi-Page — PHP, HTML, Tailwind. SSR templates. Docker required.
  • Web Frontend (SEO) — Next.js, React, Tailwind, shadcn/ui, Vite, pnpm, Vitest, Playwright.
  • SPA / Dashboard — Vite, React or Vue, Tailwind, TanStack Query, Vitest.
  • Microservice API — NestJS, Fastify (mandatory), PostgreSQL, Prisma, Redis, NATS.
  • Python API — FastAPI, uvicorn, uv, ruff, pydantic, sqlalchemy, pytest.
  • AI/LLM — Python, FastAPI, uv, ruff, OpenAI/OpenRouter SDK, Redis.

Mandatory Toolchains

Python projects always use uv (dependencies), ruff (lint + format), pytest (testing). Node/TypeScript projects always use pnpm, TypeScript, eslint + prettier, vitest, playwright for E2E. Docker is required for all backend services.

Architecture Rules

  • No SPA where HTML suffices
  • Fastify over Express — always
  • Redis as default cache
  • Event-driven systems use NATS or Kafka
  • PHP is for SSR/template reuse only
  • No exotic libraries without justification

Infrastructure & Backups

Server backups use restic + Backblaze B2 (native backend, client-side encryption, dedup, snapshots). Database backups use per-engine tooling (pg_dump, mysqldump) piped into restic.

Dependency Version Policy

Always install the latest stable (LTS where applicable) version. If a new major has breaking changes, adapt the code — do not downgrade. Run pnpm outdated immediately after scaffold. AI hallucination guard: verify latest versions via npm view or pip index versions before specifying in config files.

Ecosystem Website Pattern

Arcanada ecosystem marketing sites use PHP 8.4 FPM (no framework), Tailwind CSS 4 (CDN), Alpine.js 3 (CDN), nginx, Cloudflare (DNS + SSL), deployed via rsync. URL-based i18n with /en/ and /ru/ prefixes.