@genui/a3-create 0.1.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -0
- package/dist/index.js +684 -0
- package/package.json +52 -0
- package/template/.cursor/rules/example-app.mdc +9 -0
- package/template/CLAUDE.md +121 -0
- package/template/README.md +20 -0
- package/template/_gitignore +36 -0
- package/template/app/ThemeProvider.tsx +17 -0
- package/template/app/agents/age.ts +25 -0
- package/template/app/agents/greeting.ts +30 -0
- package/template/app/agents/index.ts +57 -0
- package/template/app/agents/onboarding/index.ts +15 -0
- package/template/app/agents/onboarding/prompt.ts +59 -0
- package/template/app/agents/registry.ts +17 -0
- package/template/app/agents/state.ts +10 -0
- package/template/app/api/agui/route.ts +56 -0
- package/template/app/api/chat/route.ts +35 -0
- package/template/app/api/stream/route.ts +57 -0
- package/template/app/apple-icon-dark.png +0 -0
- package/template/app/apple-icon.png +0 -0
- package/template/app/components/atoms/AgentNode.tsx +56 -0
- package/template/app/components/atoms/AppLogo.tsx +44 -0
- package/template/app/components/atoms/ChatContainer.tsx +13 -0
- package/template/app/components/atoms/ChatHeader.tsx +49 -0
- package/template/app/components/atoms/MarkdownRenderer.tsx +134 -0
- package/template/app/components/atoms/MessageBubble.tsx +21 -0
- package/template/app/components/atoms/TransitionEdge.tsx +49 -0
- package/template/app/components/atoms/index.ts +7 -0
- package/template/app/components/molecules/ChatInput.tsx +94 -0
- package/template/app/components/molecules/ChatMessage.tsx +45 -0
- package/template/app/components/molecules/index.ts +2 -0
- package/template/app/components/organisms/AgentGraph.tsx +75 -0
- package/template/app/components/organisms/AguiChat.tsx +133 -0
- package/template/app/components/organisms/Chat.tsx +88 -0
- package/template/app/components/organisms/ChatMessageList.tsx +35 -0
- package/template/app/components/organisms/ExamplePageLayout.tsx +118 -0
- package/template/app/components/organisms/OnboardingChat.tsx +24 -0
- package/template/app/components/organisms/Sidebar.tsx +147 -0
- package/template/app/components/organisms/SidebarLayout.tsx +58 -0
- package/template/app/components/organisms/StateViewer.tsx +126 -0
- package/template/app/components/organisms/StreamChat.tsx +173 -0
- package/template/app/components/organisms/index.ts +10 -0
- package/template/app/constants/chat.ts +52 -0
- package/template/app/constants/paths.ts +1 -0
- package/template/app/constants/ui.ts +61 -0
- package/template/app/examples/agui/page.tsx +26 -0
- package/template/app/examples/chat/page.tsx +26 -0
- package/template/app/examples/page.tsx +106 -0
- package/template/app/examples/stream/page.tsx +26 -0
- package/template/app/favicon-dark.ico +0 -0
- package/template/app/favicon.ico +0 -0
- package/template/app/icon.svg +13 -0
- package/template/app/layout.tsx +36 -0
- package/template/app/lib/actions/restartSession.ts +10 -0
- package/template/app/lib/getAgentGraphData.ts +43 -0
- package/template/app/lib/getGraphLayout.ts +99 -0
- package/template/app/lib/hooks/useRestart.ts +33 -0
- package/template/app/lib/parseTransitionTargets.ts +140 -0
- package/template/app/lib/providers/anthropic.ts +12 -0
- package/template/app/lib/providers/bedrock.ts +12 -0
- package/template/app/lib/providers/openai.ts +10 -0
- package/template/app/onboarding/page.tsx +21 -0
- package/template/app/page.tsx +16 -0
- package/template/app/styled.d.ts +6 -0
- package/template/app/theme.ts +22 -0
- package/template/docs/A3-README.md +121 -0
- package/template/docs/API-REFERENCE.md +85 -0
- package/template/docs/ARCHITECTURE.md +84 -0
- package/template/docs/CORE-CONCEPTS.md +347 -0
- package/template/docs/CUSTOM_LOGGING.md +36 -0
- package/template/docs/CUSTOM_PROVIDERS.md +642 -0
- package/template/docs/CUSTOM_STORES.md +228 -0
- package/template/docs/PROVIDER-ANTHROPIC.md +45 -0
- package/template/docs/PROVIDER-BEDROCK.md +45 -0
- package/template/docs/PROVIDER-OPENAI.md +47 -0
- package/template/docs/PROVIDERS.md +124 -0
- package/template/docs/QUICK-START-EXAMPLES.md +197 -0
- package/template/docs/RESILIENCE.md +226 -0
- package/template/docs/TRANSITIONS.md +245 -0
- package/template/docs/WIDGETS.md +331 -0
- package/template/docs/contributing/LOGGING.md +104 -0
- package/template/docs/designs/a3-gtm-strategy.md +280 -0
- package/template/docs/designs/a3-platform-vision.md +276 -0
- package/template/next-env.d.ts +6 -0
- package/template/next.config.mjs +15 -0
- package/template/package.json +41 -0
- package/template/public/android-chrome-192x192.png +0 -0
- package/template/public/android-chrome-512x512.png +0 -0
- package/template/public/site.webmanifest +11 -0
- package/template/scripts/dev.mjs +29 -0
- package/template/tsconfig.json +47 -0
package/README.md
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# @genui/a3-create
|
|
2
|
+
|
|
3
|
+
Scaffold a new [A3](https://www.npmjs.com/package/@genui/a3) agentic app in seconds.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx @genui/a3-create@latest
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
This starts an **interactive session** that will:
|
|
12
|
+
|
|
13
|
+
1. Prompt for your project name and directory
|
|
14
|
+
2. Let you select and configure LLM providers (OpenAI, Anthropic, Bedrock)
|
|
15
|
+
3. Generate a production-ready Next.js template
|
|
16
|
+
4. Automatically create your `.env` with the provided credentials
|
|
17
|
+
5. Install all dependencies
|
|
18
|
+
|
|
19
|
+
Then start developing:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
cd my-app
|
|
23
|
+
npm run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Open [http://localhost:3000](http://localhost:3000) to see your app.
|
|
27
|
+
|
|
28
|
+
## What You Get
|
|
29
|
+
|
|
30
|
+
A fully configured Next.js application with:
|
|
31
|
+
|
|
32
|
+
- **Chat interface** — conversational UI backed by A3 agents
|
|
33
|
+
- **Streaming responses** — real-time streamed agent output
|
|
34
|
+
- **AG-UI protocol support** — compatible with the [AG-UI](https://docs.ag-ui.com) standard
|
|
35
|
+
- **Agent registration** — define and wire up custom agents using `@genui/a3`
|
|
36
|
+
- **Material UI** — pre-configured theming with MUI components
|
|
37
|
+
- **TypeScript** — strict type-checking out of the box
|
|
38
|
+
|
|
39
|
+
## Configuration & Providers
|
|
40
|
+
|
|
41
|
+
The CLI guides you through setting up your LLM providers and authentication during scaffolding.
|
|
42
|
+
|
|
43
|
+
### Supported Providers
|
|
44
|
+
|
|
45
|
+
| Provider | Authentication | Auto-Generated Config |
|
|
46
|
+
|----------|---------------|------------------------|
|
|
47
|
+
| **OpenAI** | API Key | `OPENAI_API_KEY` |
|
|
48
|
+
| **Anthropic** | API Key | `ANTHROPIC_API_KEY` |
|
|
49
|
+
| **AWS Bedrock** | AWS Profile or Access Keys | `AWS_REGION`, `AWS_ACCESS_KEY_ID`, etc. |
|
|
50
|
+
|
|
51
|
+
### Automatic Setup
|
|
52
|
+
|
|
53
|
+
- **Environment Variables**: A `.env` file is generated with your keys so you can run the app immediately.
|
|
54
|
+
- **Provider Registry**: The CLI generates `app/lib/provider.ts`, pre-configuring the A3 `Provider` factory with your primary model selection.
|
|
55
|
+
|
|
56
|
+
## Usage
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Interactive — prompts for a project name
|
|
60
|
+
npx @genui/a3-create@latest
|
|
61
|
+
|
|
62
|
+
# Non-interactive — pass the name directly
|
|
63
|
+
npx @genui/a3-create@latest my-app
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
The CLI will not overwrite a non-empty directory.
|
|
67
|
+
|
|
68
|
+
## Project Structure
|
|
69
|
+
|
|
70
|
+
```txt
|
|
71
|
+
my-app/
|
|
72
|
+
├── app/
|
|
73
|
+
│ ├── (pages)/ # Route groups (chat, stream, agui)
|
|
74
|
+
│ ├── agents/ # Agent definitions
|
|
75
|
+
│ ├── api/ # API routes
|
|
76
|
+
│ ├── components/ # Shared UI components
|
|
77
|
+
│ ├── layout.tsx # Root layout
|
|
78
|
+
│ └── page.tsx # Landing page
|
|
79
|
+
├── public/ # Static assets
|
|
80
|
+
├── package.json
|
|
81
|
+
├── tsconfig.json
|
|
82
|
+
└── next.config.mjs
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Available Scripts
|
|
86
|
+
|
|
87
|
+
Inside a generated project you can run:
|
|
88
|
+
|
|
89
|
+
| Command | Description |
|
|
90
|
+
|---------|-------------|
|
|
91
|
+
| `npm run dev` | Start the development server |
|
|
92
|
+
| `npm run build` | Create a production build |
|
|
93
|
+
| `npm start` | Run the production server |
|
|
94
|
+
|
|
95
|
+
## Local Development
|
|
96
|
+
|
|
97
|
+
Test the CLI locally before publishing by packing it into a tarball.
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# 1. Build a local tarball
|
|
101
|
+
npm pack
|
|
102
|
+
|
|
103
|
+
# This will create a file named genui-a3-create-0.x.x.tgz at the root of this package
|
|
104
|
+
|
|
105
|
+
# 2. Switch to your desired test directory
|
|
106
|
+
cd ../my-test-workspace
|
|
107
|
+
|
|
108
|
+
# 3. Scaffold a new project using the tarball
|
|
109
|
+
npx --package=/absolute/path/to/genui-a3-create-0.x.x.tgz create-genui-a3
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Prerequisites
|
|
113
|
+
|
|
114
|
+
- Node.js 20.19.0 or later
|
|
115
|
+
- npm 10+
|
|
116
|
+
|
|
117
|
+
## Related
|
|
118
|
+
|
|
119
|
+
- [@genui/a3](https://www.npmjs.com/package/@genui/a3) — the core A3 agentic framework that powers scaffolded apps
|
|
120
|
+
|
|
121
|
+
## License
|
|
122
|
+
|
|
123
|
+
ISC
|