Skip to main content

AI-friendly engineering foundation with stable versions, unified logging, and pluggable capability packs

Project description

Anchor Stack

Python 3.10+ MCP 1.25+ MIT License PRs Welcome

AI-Friendly Engineering Foundation

Stable versions, unified logging, and pluggable capability packs

English | 中文


Why Anchor Stack?

Have you ever experienced this?

"AI helped me write the code, but debugging took longer than writing it myself..."

The problem isn't the AI - it's that your project wasn't designed for AI collaboration.

Anchor Stack solves this by creating projects that are:

Problem Solution
Inconsistent logging Standardized logger module - AI knows exactly how to add logs
Environment chaos Type-safe config module - no more process.env everywhere
Version conflicts Curated dependency versions - tested and stable
AI confusion Rules files that teach AI your project conventions

Features

  • Stable Stacks - Curated technology stacks with version-locked dependencies
  • Unified Logging - Standardized logging framework that AI understands
  • AI Rules - Auto-generated rules for Claude, Cursor, Windsurf, and more
  • Pluggable Packs - Add database, AI, auth capabilities on demand
  • MCP Native - Works seamlessly with MCP-compatible AI tools

Quick Start

Installation

# Using pip
pip install anchor-stack

# Using uv (recommended)
uv pip install anchor-stack

Configure Your AI Tool

Claude Desktop

Edit %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "anchor-stack": {
      "command": "anchor-stack",
      "args": ["serve"]
    }
  }
}
Cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "anchor-stack": {
      "command": "anchor-stack",
      "args": ["serve"]
    }
  }
}
VS Code (Copilot)

Edit .vscode/settings.json:

{
  "mcp": {
    "servers": {
      "anchor-stack": {
        "command": "anchor-stack",
        "args": ["serve"]
      }
    }
  }
}

Create Your First Project

Simply ask your AI assistant:

Create a Next.js project called "my-app" using Anchor Stack

The AI will use scaffold_project to create:

my-app/
├── src/
│   ├── app/              # Next.js App Router
│   ├── components/       # React components
│   ├── lib/
│   │   ├── core/         # Logger & Config (DO NOT MODIFY)
│   │   └── utils/        # Utility functions
│   └── services/         # Business logic
├── CLAUDE.md             # Rules for Claude
├── .cursor/rules/        # Rules for Cursor
├── .windsurfrules        # Rules for Windsurf
└── anchor.config.json    # Project metadata

Available Tools

scaffold_project

Create a new project from a Stack template.

scaffold_project({
  stack_name: "nextjs",        // Stack type
  project_name: "my-app",      // Project name
  target_dir: "/path/to/dir"   // Target directory
})

add_pack

Add a capability pack to an existing project.

add_pack({
  project_dir: "/path/to/project",
  pack_name: "database-postgres"
})

doctor

Check project health and configuration.

doctor({
  project_dir: "/path/to/project"
})

Available Stacks

Stack Version Description
nextjs 2026.1 Next.js 16 + React 19 + TypeScript 5.9 + Tailwind CSS
fastapi 2026.1 FastAPI 0.128 + SQLAlchemy 2.0 + Pydantic v2

Available Packs

Pack Description
database-postgres PostgreSQL with Drizzle ORM (JS) or SQLAlchemy (Python)
ai-langgraph LangChain + LangGraph for AI applications

How It Works

┌─────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│   AI Assistant  │────▶│   Anchor Stack   │────▶│  Your Project   │
│  (Claude, etc.) │     │   (MCP Server)   │     │                 │
└─────────────────┘     └──────────────────┘     └─────────────────┘
                               │
                    ┌──────────┴──────────┐
                    ▼                     ▼
              ┌──────────┐         ┌──────────┐
              │  Stacks  │         │  Packs   │
              │ (nextjs) │         │ (db,ai)  │
              └──────────┘         └──────────┘
  1. You ask your AI to create a project
  2. AI calls Anchor Stack's MCP tools
  3. Anchor Stack generates files with proper structure
  4. AI Rules help future AI interactions understand your project

CLI Commands

# Start MCP server
anchor-stack serve

# List available stacks
anchor-stack list-stacks

# List available packs
anchor-stack list-packs

# Show configuration
anchor-stack info

Configuration

Variable Default Description
ANCHOR_STACK_LOG_LEVEL INFO Logging level (DEBUG, INFO, WARNING, ERROR)
ANCHOR_STACK_LOG_JSON false Output logs in JSON format
ANCHOR_STACK_STACKS_DIR stacks Custom stacks directory
ANCHOR_STACK_PACKS_DIR packs Custom packs directory

Development

# Clone the repository
git clone https://github.com/anthropics/anchor-stack.git
cd anchor-stack

# Install dependencies
uv sync

# Run tests
uv run pytest tests/ -v

# Run linting
uv run ruff check src/

# Start dev server
uv run anchor-stack serve

Roadmap

  • Core MCP Server implementation
  • Next.js Stack template
  • FastAPI Stack template
  • Database Pack (PostgreSQL)
  • AI Pack (LangGraph)
  • Auth Pack (NextAuth/OAuth)
  • Web UI for template management

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE for details.


Built with Anchor Stack - Making AI-assisted development reliable

Report Bug · Request Feature

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anchor_stack-0.1.3.tar.gz (54.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anchor_stack-0.1.3-py3-none-any.whl (82.5 kB view details)

Uploaded Python 3

File details

Details for the file anchor_stack-0.1.3.tar.gz.

File metadata

  • Download URL: anchor_stack-0.1.3.tar.gz
  • Upload date:
  • Size: 54.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for anchor_stack-0.1.3.tar.gz
Algorithm Hash digest
SHA256 f808946a0c566f670eedfcf7084bf4eb526d87a3c7b1d69e431014d559d78367
MD5 ac8c120ab693944ec831ae64ed203d1c
BLAKE2b-256 304d80b0e3e2830f7ca754f5f2a6e6863f721c9a7db7b6f40921965a5179c6ae

See more details on using hashes here.

File details

Details for the file anchor_stack-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: anchor_stack-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 82.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for anchor_stack-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 15a789eb4f27bfdc3648509fa6d56460360907d28f04edbc7447a7a177974a11
MD5 46675738bcbc2d82c522778389f6ee18
BLAKE2b-256 905c63229b9a9702805e44ead7c0adb328ac9a21c3e90c9ab6c1a07227f40baf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page