software-architecture

Guides architecture decisions for Python, Next.js, and Azure production systems.

1|Updated Aug 10, 2026
One-click install
npx skills add https://github.com/TheViziusGroup/vibe-engineering-skills --skill software-architecture-theviziusgroup
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: software-architecture
Source: https://github.com/TheViziusGroup/vibe-engineering-skills/tree/main/plugins/software-architecture/skills/software-architecture
Command: npx skills add https://github.com/TheViziusGroup/vibe-engineering-skills --skill software-architecture-theviziusgroup

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Choosing the wrong architecture style, API contract, or cloud topology early leads to costly rewrites, distributed monoliths, and failed migrations. This Skill provides decision frameworks and production-tested patterns for Python (FastAPI), Next.js/TypeScript, and Azure systems so teams make defensible architecture choices. ## Core Features & Use Cases - Architecture Style Selection: Decision thresholds for modular monolith vs microservices, plus Strangler Fig and Anti-Corruption Layer migration patterns. - Stack-Specific Guidance: FastAPI layered architecture with repository/UoW and dependency injection, Next.js App Router with Server Components and state management rules, and Azure landing zones with hub-and-spoke networking. - Operational Patterns: Zero-downtime expand-contract database migrations with Alembic, OpenTelemetry observability, CQRS/event sourcing adoption sequencing, and ADRs. - Use Case: A team of 25 engineers planning a new FastAPI + Next.js product on Azure uses this Skill to decide on a modular monolith with enforced boundaries, tRPC internally with REST at the public boundary, and an enterprise-scale landing zone. ## Quick Start Ask the AI to recommend an architecture for a new FastAPI and Next.js application deploying to Azure with a team of 20 engineers.

Frequently Asked Questions about software-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
When should I use microservices vs a modular monolith?

Start with a modular monolith with enforced module boundaries. Extract services only on concrete signals: team size over roughly 100 engineers, one component needing about 50x the compute of others, or regulatory isolation requirements.

How do I choose between tRPC, REST, GraphQL, and gRPC?

Use tRPC for TypeScript-first full-stack monorepos, REST for public APIs and broad compatibility, GraphQL for complex client-driven data needs, and gRPC for high-throughput internal service calls. Hybrid approaches are normal: REST or GraphQL at the boundary, tRPC or gRPC internally.

How do I run zero-downtime database migrations with Alembic?

Use the expand-contract pattern: add new columns as nullable, backfill, then contract by dropping old columns after old code is gone. Set short lock_timeout, create indexes CONCURRENTLY, and never let multiple pods race alembic upgrade head.

Is Next.js middleware enough for authentication?

No. CVE-2025-29927 showed middleware-only auth can be bypassed via a spoofed x-middleware-subrequest header. Use the Data Access Layer pattern and verify auth at every data-access point, with hardened HttpOnly, Secure, SameSite cookies.

Should I use Bicep or Terraform for Azure infrastructure?

Bicep offers Azure-native day-0 service support and no state file; Terraform provides multi-cloud consistency and explicit state with drift detection. Both can use Azure Verified Modules, but avoid mixing them on the same resources.

When should I avoid CQRS and event sourcing?

Avoid them for query-heavy systems with many low-latency read shapes, when the team cannot commit to event-schema governance, or before the domain is well understood. Adopt them surgically, one aggregate or read model at a time.