npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@naymhdev/arch-ai

v2.0.6

Published

AI-powered project structure generator CLI

Readme

ArchAI 🏗️

ArchAI Banner

AI-powered project structure generator CLI

NPM Version NPM Downloads License: MIT Node.js TypeScript PRs Welcome

Scaffold production-grade backend and fullstack projects in seconds. Describe your idea — AI picks the best template and features for you.

npx @naymhdev/arch-ai init

📖 Table of Contents


🤔 Why ArchAI?

Every time you start a new project, you repeat the same boring setup:

❌ Create folders manually
❌ Copy-paste boilerplate from old projects
❌ Install the same packages every time
❌ Set up Express, middlewares, tsconfig again
❌ Wire up auth, docker, CI/CD from scratch

ArchAI does all of this in under 10 seconds:

✅ Describe your idea
✅ AI suggests the best template & features
✅ Full project structure generated instantly
✅ Boilerplate code ready to run
✅ All configs pre-wired

✨ Features

  • 🤖 AI-Powered Suggestions — Describe your project idea, AI recommends the best template and features
  • 🔄 Regenerate with Feedback — Don't like the suggestion? Give feedback and AI tries again (up to 3 times)
  • 📦 6 Production-Grade Templates — Backend MVP, Clean Architecture, Microservice, Next.js Basic, DDD, SaaS
  • 11 Feature Add-ons — Auth, AI, Billing, Email, Storage, Cache, Queue, WebSocket, Testing, Docker, CI/CD
  • 🎯 Interactive CLI — Beautiful prompts with structure preview before generation
  • 🔧 TypeScript First — Every generated file is fully typed
  • 📋 Structure Preview — See exactly what will be created before confirming
  • 🌈 Multiple AI Providers — Works with Groq (free), Anthropic Claude, or Google Gemini

🚀 Quick Start

# No installation needed
npx @naymhdev/arch-ai init

Or install globally:

npm install -g @naymhdev/arch-ai
arch-ai init

You'll see an interactive prompt like this:

  ╔═══════════════════════════════════╗
  ║      🏗  ArchAI — Project Init     ║
  ╚═══════════════════════════════════╝

  AI-powered project structure generator

? Project name: my-awesome-app
? Short description: A SaaS platform for pet adoption
? Use AI to suggest best template & features? Yes
? Describe your project idea: Pet adoption platform with shelters,
  user bookmarks, admin panel, and subscription plans

⏳ Consulting AI for best project structure...
✔ AI suggestion ready!

  Template:   Next.js SaaS — Full SaaS boilerplate
  Features:   auth, billing, email, storage, testing
  💡 A multi-role platform with subscriptions fits the SaaS template best.

? What would you like to do?
❯ ✅  Accept this suggestion
  🔄  Regenerate — give feedback to AI
  🖊️   Choose manually instead

📦 Installation

Requirements

  • Node.js >= 18
  • npm / pnpm / yarn / bun

Global Install

# npm
npm install -g @naymhdev/arch-ai

# pnpm
pnpm add -g @naymhdev/arch-ai

# yarn
yarn global add @naymhdev/arch-ai

# bun
bun add -g @naymhdev/arch-ai

Without Install (npx)

npx @naymhdev/arch-ai init

🎯 Usage

Commands

# Scaffold a new project (interactive)
arch-ai init

# List all available templates and features
arch-ai list

# Show version
arch-ai --version

# Show help
arch-ai --help

arch-ai init — Step by Step

| Step | Prompt | Description | |------|--------|-------------| | 1 | Project name | Your project's directory name | | 2 | Description | Short description (optional) | | 3 | Use AI? | Enable AI-powered suggestions | | 4 | Project idea | Describe what you're building | | 5 | Template | Auto-suggested or manual pick | | 6 | Features | Checkbox selection of add-ons | | 7 | Package manager | npm / pnpm / yarn / bun | | 8 | Output directory | Where to create the project | | 9 | Preview + Confirm | See structure before generating |


🗂️ Templates

Backend Templates

backend-mvp — Backend MVP

Minimal Express + TypeScript backend. Perfect for REST APIs and quick prototypes.

my-project/
├── src/
│   ├── controllers/     # Route handlers
│   ├── services/        # Business logic
│   ├── routes/          # Express route definitions
│   ├── middlewares/     # Auth, validation, error handling
│   ├── utils/           # Shared utilities
│   ├── config/          # App configuration
│   ├── types/           # TypeScript types
│   ├── app.ts           # Express app setup
│   └── server.ts        # Server entry point
├── .env.example
├── package.json
└── tsconfig.json

Best for: Quick APIs, MVPs, solo projects, learning


backend-clean — Backend Clean Architecture

Layered architecture with use-cases, repository pattern, and dependency injection.

my-project/
├── src/
│   ├── domain/
│   │   ├── entities/        # Core business objects
│   │   ├── repositories/    # Repository interfaces
│   │   └── use-cases/       # Application use cases
│   ├── infrastructure/
│   │   ├── database/        # DB adapters & migrations
│   │   └── repositories/    # Concrete implementations
│   ├── presentation/
│   │   ├── controllers/
│   │   ├── routes/
│   │   └── middlewares/
│   └── shared/              # Errors, types, utils
├── tests/
└── ...

Best for: Enterprise apps, team projects, complex business logic


backend-microservice — Backend Microservice

Event-driven modular microservice with in-memory event bus.

my-project/
├── src/
│   ├── modules/
│   │   └── health/          # Self-contained feature module
│   ├── events/              # Event bus & handlers
│   ├── shared/              # Shared kernel
│   ├── app.ts
│   └── server.ts
├── Dockerfile
└── docker-compose.yml

Best for: Distributed systems, high-scale apps, modular teams


Full-Stack Templates

nextjs-basic — Next.js Basic

Next.js 14 App Router with Tailwind CSS and TypeScript.

my-project/
├── src/
│   ├── app/
│   │   ├── layout.tsx
│   │   ├── page.tsx
│   │   ├── globals.css
│   │   └── api/health/route.ts
│   ├── components/
│   │   ├── ui/Button.tsx
│   │   └── layout/Navbar.tsx
│   ├── lib/utils.ts
│   └── types/index.ts
├── next.config.mjs
└── tailwind.config.ts

Best for: Websites, landing pages, portfolios, simple web apps


nextjs-ddd — Next.js DDD

Next.js with Domain-Driven Design — server actions, feature modules, repository pattern.

my-project/
├── src/
│   ├── app/
│   │   ├── (auth)/          # Auth route group
│   │   ├── (dashboard)/     # Dashboard route group
│   │   └── api/             # API route handlers
│   ├── domain/
│   │   ├── entities/
│   │   ├── repositories/
│   │   └── use-cases/
│   ├── infrastructure/
│   │   └── repositories/
│   └── presentation/
│       ├── actions/         # Server actions
│       ├── components/
│       └── hooks/
└── ...

Best for: Complex web apps, rich domain logic, server actions


nextjs-saas — Next.js SaaS ⭐

Full SaaS starter: landing page, auth, billing, dashboard, and Prisma ORM.

my-project/
├── src/
│   ├── app/
│   │   ├── (marketing)/     # Public landing & pricing pages
│   │   ├── (auth)/          # Login & register pages
│   │   ├── (dashboard)/     # Authenticated dashboard + sidebar
│   │   └── api/
│   │       └── webhooks/
│   │           └── stripe/  # Stripe webhook handler
│   ├── lib/
│   │   ├── auth.ts          # Session management
│   │   ├── stripe.ts        # Stripe client
│   │   └── utils.ts
│   └── ...
├── prisma/
│   └── schema.prisma        # User + Subscription models
└── .env.local.example

Best for: SaaS products, subscription apps, startup MVPs


⚡ Features (Add-ons)

Select any combination of features when running arch-ai init:

| Feature | What's Included | Key Packages | |---------|----------------|--------------| | auth | JWT middleware, AuthService, AuthController, routes | jsonwebtoken, bcryptjs | | ai | Anthropic Claude client + streaming setup | @anthropic-ai/sdk | | billing | Stripe subscriptions + webhook handler | stripe | | email | Resend transactional email service | resend | | storage | AWS S3 presigned URL upload service | @aws-sdk/client-s3 | | cache | Redis caching layer with TTL helpers | ioredis | | queue | BullMQ background job processing | bullmq | | websocket | Socket.io real-time support | socket.io | | testing | Jest + Supertest config + example tests | jest, supertest | | docker | Multi-stage Dockerfile + docker-compose | — | | ci-cd | GitHub Actions CI workflow | — |

Each feature automatically:

  • ✅ Injects the relevant boilerplate files
  • ✅ Adds env variables to .env.example
  • ✅ Lists the npm packages you need to install

🤖 AI Integration

ArchAI supports 3 AI providers. Set any one API key to enable AI suggestions.

Option 1 — Groq (Recommended, Free ✅)

The fastest inference engine. Best for CLI tools.

# Get free key at: https://console.groq.com
export GROQ_API_KEY=gsk_...

Option 2 — Anthropic Claude

Highest quality suggestions.

# Get key at: https://console.anthropic.com
export ANTHROPIC_API_KEY=sk-ant-...

Option 3 — Google Gemini

Generous free tier.

# Get free key at: https://aistudio.google.com
export GEMINI_API_KEY=AIza...

Without AI

ArchAI works perfectly without any API key — it gracefully falls back to manual template and feature selection.

AI Regeneration Feature

Don't like the AI suggestion? Give feedback and it will try again:

✔ AI suggestion ready!
  Template: backend-mvp
  Features: auth, docker

? What would you like to do?
❯ ✅  Accept this suggestion
  🔄  Regenerate — give feedback to AI   ← pick this
  🖊️   Choose manually instead

? What didn't you like? Tell AI what to change:
> "I need Next.js not Express, and add billing"

⏳ Regenerating suggestion (attempt 2/3)...
✔ New suggestion ready!
  Template: nextjs-saas
  Features: auth, billing, email

🗄️ Project Structure (ArchAI Source)

arch-ai/
├── src/
│   ├── cli/                      # CLI entry & commands
│   │   ├── index.ts              # Commander program entry
│   │   └── commands/
│   │       └── init.command.ts   # All Inquirer prompts + AI flow
│   │
│   ├── core/                     # Business logic
│   │   ├── init.ts               # Orchestrator
│   │   ├── generator.ts          # File & directory creator
│   │   ├── template.engine.ts    # In-memory boilerplate renderer
│   │   └── feature.engine.ts     # Feature file injector
│   │
│   ├── ai/                       # AI integration layer
│   │   ├── ai.service.ts         # API client (Groq/Claude/Gemini)
│   │   ├── ai.prompts.ts         # Prompt engineering
│   │   └── ai.parser.ts          # Response validation & parsing
│   │
│   ├── config/                   # App configuration
│   │   ├── templates.config.ts   # 6 template definitions
│   │   └── features.config.ts    # 11 feature definitions
│   │
│   ├── templates/                # Static template files
│   │   ├── backend-mvp/
│   │   ├── backend-clean/
│   │   ├── backend-microservice/
│   │   ├── nextjs-basic/
│   │   ├── nextjs-ddd/
│   │   └── nextjs-saas/
│   │
│   ├── types/index.ts            # Global TypeScript types
│   ├── utils/                    # logger, spinner, file helpers
│   └── constants/index.ts        # App-wide constants
│
├── dist/                         # Compiled output
├── package.json
└── tsconfig.json

⚙️ Configuration

Environment Variables

ArchAI reads these from your shell environment or a .env file:

| Variable | Provider | Required | |----------|----------|----------| | GROQ_API_KEY | Groq | Optional | | ANTHROPIC_API_KEY | Anthropic | Optional | | GEMINI_API_KEY | Google | Optional |

At least one AI key is needed to use AI suggestions. Without any key, manual mode is used.


🤝 Contributing

Contributions are very welcome! Here's how to get started:

1. Fork & Clone

git clone https://github.com/naymHdev/arch-ai.git
cd arch-ai
npm install

2. Run in Development

npm run dev -- init

3. Build

npm run build

4. Project Areas to Contribute

| Area | Description | |------|-------------| | 🗂️ New Templates | Add new project templates (e.g., fastify-api, remix-app) | | ⚡ New Features | Add new feature add-ons (e.g., graphql, prisma, monitoring) | | 🤖 AI Improvements | Better prompts, new AI providers | | 🐛 Bug Fixes | Fix issues, improve error messages | | 📖 Documentation | Improve docs, add examples | | 🧪 Tests | Add unit and integration tests |

5. Adding a New Template

Step 1 — Add config in src/config/templates.config.ts:

'my-template': {
  id: 'my-template',
  name: 'My Template',
  description: 'Description of what this template does.',
  category: 'backend', // or 'fullstack'
  tags: ['express', 'typescript'],
  defaultFeatures: [],
  compatibleFeatures: ['auth', 'docker', 'testing'],
  structure: {
    // FolderNode tree
  }
}

Step 2 — Add boilerplate files in src/templates/my-template/

Step 3 — Add renderers in src/core/template.engine.ts

Step 4 — Update types in src/types/index.ts

6. Submit a PR

git checkout -b feat/my-new-template
git commit -m "feat: add my-template"
git push origin feat/my-new-template

Then open a Pull Request on GitHub!

Code Style

  • Use TypeScript for all new code
  • Follow existing file naming conventions (kebab-case.ts)
  • Add JSDoc comments for public methods
  • Keep each file focused on a single responsibility

🗺️ Roadmap

| Feature | Status | |---------|--------| | 6 production templates | ✅ Done | | 11 feature add-ons | ✅ Done | | AI suggestions (Groq/Claude/Gemini) | ✅ Done | | AI regenerate with feedback | ✅ Done | | Structure preview | ✅ Done | | backend-modular template | 🔄 In Progress | | Prisma / Drizzle ORM feature | 📋 Planned | | GraphQL feature add-on | 📋 Planned | | fastify-api template | 📋 Planned | | remix-app template | 📋 Planned | | Plugin system for custom templates | 📋 Planned | | Web UI (browser-based generator) | 💡 Idea | | VS Code extension | 💡 Idea |


🐛 Common Issues

arch-ai: command not found

# Reinstall globally
npm install -g @naymhdev/arch-ai

# Or use npx
npx @naymhdev/arch-ai init

AI suggestions not working

# Check your key is set
echo $GROQ_API_KEY

# Set it temporarily
export GROQ_API_KEY=gsk_your_key_here

# Or add to your shell profile (~/.zshrc or ~/.bashrc)
echo 'export GROQ_API_KEY=gsk_your_key_here' >> ~/.zshrc
source ~/.zshrc

Directory already exists error

# ArchAI won't overwrite existing directories
# Either delete the folder first or choose a different name
rm -rf my-project
arch-ai init

📊 Tech Stack

| Tool | Purpose | |------|---------| | Node.js | Runtime | | TypeScript | Language | | Commander.js | CLI framework | | Inquirer.js | Interactive prompts | | fs-extra | File system operations | | Chalk | Terminal colors | | Ora | Loading spinners | | Groq SDK | AI inference (primary) | | Anthropic SDK | AI inference (alternative) |


📄 License

MIT © naymHdev


🙏 Acknowledgements


NPM PackageGitHubReport BugRequest Feature

If ArchAI saved you time, please ⭐ the repo!