@api-buddy/cli
v4.0.0
Published
CLI for API Buddy - A plugin-based API development tool
Maintainers
Readme
API Buddy CLI
The API Buddy CLI is a powerful command-line interface for scaffolding and managing API Buddy projects, including authentication, database, and other integrations.
Installation
# Using npm
npm install -g @api-buddy/cli
# Using yarn
yarn global add @api-buddy/cli
# Using pnpm (recommended)
pnpm add -g @api-buddy/cliFeatures
- 🚀 Scaffold new API Buddy projects
- 🔐 Generate authentication flows (Firebase, JWT, etc.)
- 🗃️ Set up database connections
- 🔌 Manage plugins and integrations
- ⚡ Optimized for Next.js applications
Usage
Initialize a new project
api-buddy init my-api-buddy-project
cd my-api-buddy-projectFirebase Authentication
The Firebase Auth plugin provides a complete authentication solution with pre-built UI components and API routes.
Installation
# Install the Firebase Auth plugin
api-buddy plugin add @api-buddy/plugin-auth-firebase
# Install required dependencies
npm install firebase firebase-admin
# or
yarn add firebase firebase-admin
# or
pnpm add firebase firebase-adminGenerate Authentication Pages and API Routes
# Generate all auth pages and API routes
api-buddy firebase-auth generate
# Generate specific pages only
api-buddy firebase-auth generate --pages login,signup,profile
# Skip API route generation
api-buddy firebase-auth generate --no-api
# Specify custom output directory (default: 'app')
api-buddy firebase-auth generate --output src/appConfiguration
After generation, configure your Firebase credentials in .env.local:
# Client-side (NEXT_PUBLIC_*)
NEXT_PUBLIC_FIREBASE_API_KEY=your-api-key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your-project-id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your-storage-bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your-messaging-sender-id
NEXT_PUBLIC_FIREBASE_APP_ID=your-app-id
# Server-side (only used in API routes)
FIREBASE_CLIENT_EMAIL=your-service-account-email
FIREBASE_PRIVATE_KEY="your-private-key"Plugin Management
# Add a plugin
api-buddy plugin add @api-buddy/plugin-name
# List installed plugins
api-buddy plugin list
# Remove a plugin
api-buddy plugin remove @api-buddy/plugin-nameDevelopment
Setup
- Clone the repository
- Install dependencies:
npm install - Build the project:
npm run build - Link the package for local development:
npm link
Running Tests
# Run all tests
npm test
# Run tests in watch mode
npm test:watch
# Run specific test file
npm test -- tests/auth-firebase.test.tsAvailable Commands
init- Initialize a new API Buddy projectfirebase-auth- Manage Firebase Authenticationgenerate- Generate auth pages and API routes
plugin- Manage pluginsadd- Add a pluginlist- List installed plugins
License
MIT
