{"id":50849360,"url":"https://github.com/chatbotkit/template-nextjs-orchestrator-js","last_synced_at":"2026-06-14T12:30:46.910Z","repository":{"id":347613367,"uuid":"1194653050","full_name":"chatbotkit/template-nextjs-orchestrator-js","owner":"chatbotkit","description":"Business orchestrator template built with Next.js and ChatBotKit SDK","archived":false,"fork":false,"pushed_at":"2026-04-08T12:55:57.000Z","size":124,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-08T14:35:50.268Z","etag":null,"topics":["agent","ai","chatbot","chatbotkit","javascript","next-auth","nextjs","template"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chatbotkit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-28T16:35:03.000Z","updated_at":"2026-04-08T12:55:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/chatbotkit/template-nextjs-orchestrator-js","commit_stats":null,"previous_names":["chatbotkit/template-nextjs-orchestrator-js"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/chatbotkit/template-nextjs-orchestrator-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatbotkit%2Ftemplate-nextjs-orchestrator-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatbotkit%2Ftemplate-nextjs-orchestrator-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatbotkit%2Ftemplate-nextjs-orchestrator-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatbotkit%2Ftemplate-nextjs-orchestrator-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chatbotkit","download_url":"https://codeload.github.com/chatbotkit/template-nextjs-orchestrator-js/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatbotkit%2Ftemplate-nextjs-orchestrator-js/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34322072,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","ai","chatbot","chatbotkit","javascript","next-auth","nextjs","template"],"created_at":"2026-06-14T12:30:45.586Z","updated_at":"2026-06-14T12:30:46.898Z","avatar_url":"https://github.com/chatbotkit.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Orchestrator Template for Next.js / ChatBotKit / JS\n\nA business orchestration template built with Next.js, NextAuth (Google OAuth), shadcn/ui, and ChatBotKit. Create companies, deploy AI agents with pre-configured tools (file read/write, shell/bash, shared workspace), and assign tasks.\n\n\u003cimg width=\"30%\" src=\"https://github.com/user-attachments/assets/a9659d11-260b-40e8-9243-90bbfd4d812d\" /\u003e \u003cimg width=\"30%\" src=\"https://github.com/user-attachments/assets/df001641-7a20-4975-b0f6-341395ce8dc2\" /\u003e \u003cimg width=\"30%\" src=\"https://github.com/user-attachments/assets/d17b1607-b726-4a1d-a2c7-0bdf3afa7c5b\" /\u003e \n\n\u003cimg width=\"30%\" src=\"https://github.com/user-attachments/assets/66e16451-8b41-4b70-83bc-7a1b466b3b8b\" /\u003e \u003cimg width=\"30%\" src=\"https://github.com/user-attachments/assets/bed4a28e-ceda-4943-899f-e116ad3146d4\" /\u003e\n\n\u003e **Note:** This template is deliberately bare-bones. It provides the minimal structure and wiring needed to get a working app, intentionally leaving styling, layout, and architectural choices open so you can build on top without fighting existing opinions.\n\n## Why ChatBotKit?\n\nBuilding an AI orchestration system typically means sourcing models, a conversation layer, background processing, storage, a tested abilities catalogue, authentication, security, monitoring, and more from separate systems. The cost adds up fast - not just in money, but in engineering time.\n\nChatBotKit brings all of this into one platform. This template gets you started with a multi-agent orchestration app where companies, agents, tools, and task execution are all managed through a single API.\n\n## Features\n\n- **Google OAuth** via NextAuth for authentication\n- **Companies** (backed by ChatBotKit Blueprints) as organizational workspaces\n- **Agents** (backed by ChatBotKit Bots) with editable names and backstories\n- **Pre-configured Tools** per company: file read/write, shell execution, shared space storage\n- **Chat** directly with any agent through a streaming conversation UI\n- **Tasks** - assign one-off tasks to agents and see streaming results\n- **shadcn/ui** components with Tailwind CSS\n\n## Getting Started\n\n1. Copy `.env.example` to `.env` and fill in the values:\n\n   ```bash\n   cp .env.example .env\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n3. Run the development server:\n\n   ```bash\n   npm run dev\n   ```\n\n4. Open [http://localhost:3000](http://localhost:3000)\n\n## Environment Variables\n\n| Variable                | Description                                             |\n| ----------------------- | ------------------------------------------------------- |\n| `CHATBOTKIT_API_SECRET` | ChatBotKit API token from https://chatbotkit.com/tokens |\n| `NEXTAUTH_SECRET`       | Random secret for NextAuth JWT encryption               |\n| `NEXTAUTH_URL`          | Your app URL (e.g. `http://localhost:3000`)             |\n| `GOOGLE_CLIENT_ID`      | Google OAuth client ID                                  |\n| `GOOGLE_CLIENT_SECRET`  | Google OAuth client secret                              |\n\n### Setting Up ChatBotKit\n\n1. Sign up or log in at [chatbotkit.com](https://chatbotkit.com)\n2. Go to [chatbotkit.com/tokens](https://chatbotkit.com/tokens) and create an API token\n3. Copy the API token to `CHATBOTKIT_API_SECRET` in your `.env` file\n\nNo pre-configured bots are needed. The app creates companies (blueprints) and agents (bots) dynamically, each with pre-configured tools for file access, shell execution, and shared workspace storage.\n\n### Getting Google OAuth Credentials\n\n1. Go to [Google Cloud Console](https://console.cloud.google.com/apis/credentials)\n2. Create a new OAuth 2.0 Client ID\n3. Set authorized redirect URI to `http://localhost:3000/api/auth/callback/google`\n4. Copy the Client ID and Client Secret to your `.env` file\n\n### Generating a NextAuth Secret\n\nRun the following command and paste the output into your `.env` file:\n\n```bash\nopenssl rand -base64 32\n```\n\n## Architecture\n\n```\n/auth/signin     - Google OAuth sign-in page\n/agents          - Company + agent management dashboard\n/agents/[id]     - Agent detail with chat and settings tabs\n/tasks           - Task assignment and execution\n```\n\n### How It Works\n\n1. User signs in with Google\n2. User creates a **Company** (ChatBotKit Blueprint) with shared tools:\n   - File read/write ability\n   - Shell/bash execution ability\n   - Shared space storage ability\n3. Inside a company, user creates **Agents** (ChatBotKit Bots) with custom names and backstories\n4. User can **chat** with agents directly or **assign tasks** for one-off execution\n5. All agents in a company share the same toolset through a connected Skillset\n\n## Project Structure\n\n```\n├── actions/\n│   ├── agent.js              # Agent CRUD server actions\n│   ├── company.js            # Company CRUD server actions\n│   ├── conversation.jsx      # Chat streaming server actions\n│   └── task.jsx              # Task execution server actions\n├── app/\n│   ├── agents/               # Agent management and detail pages\n│   ├── auth/signin/          # Google OAuth sign-in page\n│   ├── companies/            # Company management pages\n│   ├── tasks/                # Task assignment and execution\n│   ├── api/auth/             # NextAuth API route\n│   ├── layout.jsx            # Root layout with providers\n│   └── page.jsx              # Root redirect\n├── components/\n│   ├── agents/               # Agent-specific components\n│   ├── ui/                   # shadcn/ui primitives\n│   └── providers.jsx         # NextAuth session provider\n├── lib/\n│   ├── auth-options.js       # NextAuth configuration\n│   ├── models.js             # Model definitions\n│   └── utils.js              # Utility functions\n└── middleware.ts              # Auth middleware for protected routes\n```\n\n## Learn More\n\n- [ChatBotKit Documentation](https://chatbotkit.com/docs)\n- [ChatBotKit SDK](https://github.com/chatbotkit/node-sdk)\n- [Next.js Documentation](https://nextjs.org/docs)\n- [next-auth Documentation](https://next-auth.js.org)\n- [shadcn/ui](https://ui.shadcn.com)\n\n## License\n\nMIT - see [LICENSE](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchatbotkit%2Ftemplate-nextjs-orchestrator-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchatbotkit%2Ftemplate-nextjs-orchestrator-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchatbotkit%2Ftemplate-nextjs-orchestrator-js/lists"}