@goodjinu/create-agent-template
v0.2.3
Published
Scaffold a TypeScript AI agent project with hexagonal architecture
Readme
@goodjinu/create-agent-template
Scaffold a production-ready AI agent project with Hexagonal Architecture, Firebase Functions, and Slack integration in seconds.
Inspired by create-next-app, this CLI tool sets up a monorepo containing everything you need to build and deploy a sophisticated AI agent.
🚀 Quick Start
You can start a new project without installing anything globally using npx:
npx @goodjinu/create-agent-template my-ai-agentFollow the prompts to name your project and install dependencies.
🛠️ Generated Project Overview
The scaffolded project uses a Hexagonal Architecture to ensure your core logic is decoupled from external services (Slack, GitHub, LLMs).
Project Structure
packages/core: Pure domain logic and workflows.packages/adapters: Implementation of external integrations (Slack, GitHub, Gemini, Ollama).packages/functions: Firebase Cloud Functions for production deployment.packages/localRun: Local development server using Slack Socket Mode.
💻 Local Development
Enter your project:
cd my-ai-agent cp .env.example .envConfigure Slack: Follow the instructions in the generated
README.mdto create a local Slack App and get your tokens.Run locally:
pnpm local:runNote: Local development defaults to using Ollama for a fully local experience.
🚢 Production Deployment
The project includes a robust deployment script that handles Firebase Functions, Secret Manager, and Slack App Manifests.
1. Set Required Environment Variables
export SLACK_CONFIG_TOKEN="xoxp-..." # Get from https://api.slack.com/reference/manifests#config-tokens
export GITHUB_OWNER="your-username"
export GITHUB_TOKEN="ghp_..."
export SLACK_CHANNEL_ID="C1234567"
export GOOGLE_GENERATIVE_AI_API_KEY="your-api-key"2. Deploy Everything
pnpm deploy:fullWhat this script does:
- Builds all packages.
- Syncs secrets to Firebase Secret Manager.
- Deploys Firebase Functions.
- Automatically creates/updates your Slack App via the Manifest API and wires up the Webhook URLs.
📦 How to "Deploy" this CLI (For Maintainers)
If you are contributing to this template and want to publish updates to npm:
Build the CLI:
pnpm buildPublish:
npm publish --access public
License
MIT
