home / skills / zeeshan080 / ai-native-robotics / tech-stack-constraints

tech-stack-constraints skill

/.claude/skills/tech-stack-constraints

This skill validates technology choices against the allowed constitution, flags violations, and provides migration guidance to keep projects compliant.

npx playbooks add skill zeeshan080/ai-native-robotics --skill tech-stack-constraints

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
1.5 KB
---
name: tech-stack-constraints
description: Validate code and configurations against the allowed technology stack per constitution. Use when writing platform code, selecting libraries, or checking framework compliance.
allowed-tools: Read, Grep
---

# Tech Stack Constraints

## Instructions

When validating technology choices:

1. Check the proposed technology against the allowed list
2. If not allowed, suggest the approved alternative
3. Reference the constitution section for authority
4. Provide migration guidance if needed

## Allowed Technologies

### Backend
- **Framework**: FastAPI (Python 3.11+)
- **Vector Database**: Qdrant
- **Authentication**: BetterAuth
- **API Format**: REST with JSON

### Frontend
- **Static Site**: Docusaurus 3.x
- **UI Framework**: React 18+
- **Language**: TypeScript
- **Chatbot**: CopilotKit/ChatKit

### Robotics
- **Middleware**: ROS 2 Humble
- **Simulation**: Gazebo, Isaac Sim
- **Robot Description**: URDF, XACRO
- **Languages**: Python, C++ (for ROS nodes)

### Infrastructure
- **Hosting**: GitHub Pages (static), Cloud Run (API)
- **CI/CD**: GitHub Actions
- **Container**: Docker (optional)

## Validation Rules

1. **No alternative web frameworks** - Django, Flask, Express are NOT allowed
2. **No alternative databases** - PostgreSQL, MongoDB are NOT allowed for vector search
3. **No alternative auth** - Passport, Auth0 are NOT allowed
4. **Secrets via .env** - Never hardcode API keys or tokens

## Reference

See [allowed-tech.md](allowed-tech.md) for the complete list.

Overview

This skill validates code and configuration choices against the platform constitution's allowed technology stack. It enforces approved backends, frontends, robotics tools, and infrastructure while suggesting compliant alternatives and migration steps. The goal is to keep projects aligned with platform standards and reduce rework or security risks.

How this skill works

The validator inspects proposed libraries, frameworks, database choices, auth solutions, and deployment targets in code, dependency manifests, and config files. It flags disallowed items, cites the constitution as the source of authority, and recommends the approved replacement. For disallowed technologies it provides concrete migration guidance and sample commands or file edits to transition to the approved stack.

When to use it

  • Selecting libraries or frameworks for new services or UIs
  • Reviewing pull requests for tech compliance
  • Preparing architecture proposals or tech roadmaps
  • Auditing existing repositories for drift from standards
  • Onboarding contributors to ensure correct tools are used

Best practices

  • Always prefer the approved stack: FastAPI for backend, Qdrant for vector search, BetterAuth for auth.
  • Store secrets in .env or a secrets manager; never hardcode keys or tokens.
  • Use TypeScript with React and Docusaurus 3.x for documentation and static content.
  • For robotics work use ROS 2 Humble, URDF/XACRO for robot descriptions, and Python/C++ for nodes.
  • Run the validator as part of CI (GitHub Actions) to catch violations early

Example use cases

  • A developer proposes Flask for a new REST service; the skill flags it and suggests FastAPI with starter routes and uvicorn run commands.
  • A PR adds MongoDB-based vector search; the validator recommends migrating indexes and data to Qdrant and outlines export/import steps.
  • CI pipeline runs validate on each PR and rejects merges that introduce disallowed auth providers or hardcoded secrets.
  • A robotics module uses an older ROS release; the tool details required changes to target ROS 2 Humble and update launch files.

FAQ

What if a required library has no approved equivalent?

Document the use case and request an exception through the constitution governance process; include security and maintenance justification.

Does this enforce code style or lint rules?

No. This validator focuses on tech stack constraints and configuration; use linters and formatters separately.

How are migrations guided?

Guidance includes concrete steps: dependency changes, config edits, data export/import tips, and sample commands to accelerate transition.