# Build & Deployment Instructions ## Prerequisites - Node.js (v18 or higher) - pnpm package manager - Cloudflare account with Wrangler CLI configured ## Development Start the development server: ```bash pnpm dev ``` The app will be available at `http://localhost:3000` ## Building for Production ### 1. Build Next.js Application ```bash pnpm build ``` This runs `next build` and creates an optimized production build in `.next/` ### 2. Build for Cloudflare with OpenNext ```bash npx @opennextjs/cloudflare build ``` This command: - Runs the Next.js build (if not already built) - Converts the Next.js output to Cloudflare Workers format - Creates the deployment-ready bundle in `.open-next/` - Generates the worker script and static assets **Note:** You must run this step before deploying to Cloudflare. The standard `next build` alone is not sufficient. ## Deployment ### Deploy to Cloudflare Workers ```bash npx wrangler deploy ``` Or specify an environment explicitly: ```bash npx wrangler deploy --env="" # Deploy to default environment ``` The deployment will: - Upload new/modified static assets - Deploy the worker script - Provide a live URL (e.g., `https://inspiration-repo-agent.nicholaivogelfilms.workers.dev`) ## Complete Build & Deploy Workflow ```bash # 1. Build Next.js app and prepare for Cloudflare npx @opennextjs/cloudflare build # 2. Deploy to Cloudflare npx wrangler deploy ``` ## Environment Variables ### Local Development Create a `.env.local` file in the project root: ```env AGENT_1_URL=https://n8n.example.com/webhook/agent-1-uuid AGENT_1_NAME=Agent Name AGENT_1_DESCRIPTION=Description of the agent AGENT_2_URL=https://n8n.example.com/webhook/agent-2-uuid AGENT_2_NAME=Another Agent AGENT_2_DESCRIPTION=Description of another agent ``` ### Production (Cloudflare) Set environment variables in the Cloudflare dashboard: 1. Go to Workers & Pages → `inspiration-repo-agent` → Settings → Environment Variables 2. Add the same `AGENT_*` variables as above 3. Redeploy for changes to take effect ## Troubleshooting ### "No updated asset files to upload" This means the OpenNext build hasn't been run or hasn't picked up your changes. Run: ```bash npx @opennextjs/cloudflare build ``` Then deploy again. ### ESLint Configuration Error If you see ESLint errors during build, the build will still complete successfully. The linting step can be skipped if needed. ### Multiple Environments Warning If you see a warning about multiple environments, explicitly specify the environment: ```bash npx wrangler deploy --env="" ``` ## Package Manager This project uses **pnpm** (not npm). Always use `pnpm` commands: - `pnpm install` - Install dependencies - `pnpm dev` - Start dev server - `pnpm build` - Build Next.js app ## Tech Stack - **Framework:** Next.js 15.5.4 (App Router) - **Runtime:** Cloudflare Workers - **Adapter:** @opennextjs/cloudflare - **Styling:** Tailwind CSS 4.1.9 - **Package Manager:** pnpm