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.2.tar.gz (51.0 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.2-py3-none-any.whl (77.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: anchor_stack-0.1.2.tar.gz
  • Upload date:
  • Size: 51.0 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.2.tar.gz
Algorithm Hash digest
SHA256 09141e982d22ed5f22d7ec556c1792d04df8dcb158f1de8a2655ecb23da81807
MD5 004b6c273559b75c6f96b8d289d97f2a
BLAKE2b-256 d502e5ac6436f432f826819facea4fa2b6643f06dad0333472f20c2ba8164804

See more details on using hashes here.

File details

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

File metadata

  • Download URL: anchor_stack-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 77.8 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2f8d784a11fbaaf4e74624ec60b60e5432e3936cb2e3e8af6667b40e9d8aa237
MD5 232bea5bd9faf8093615833d5db40680
BLAKE2b-256 defe29face5be09b9be4e0c3dffedf23c162da13255563f27e0775274cb67148

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