create-adk-agent 0.0.1 โ 0.0.2
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 +71 -28
- package/bin/create-adk-agent.js +38 -0
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -1,31 +1,49 @@
|
|
|
1
|
-
#
|
|
1
|
+
# create-adk-agent
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> **The fastest way to start building with Google's Agent Development Kit (ADK)**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Scaffold production-ready ADK TypeScript projects in seconds with best practices, multiple templates, and zero configuration.
|
|
6
|
+
|
|
7
|
+
**What is ADK?** The [Agent Development Kit](https://google.github.io/adk-docs/) is Google's framework for building AI agents. This tool makes it easy to get started.
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
## ๐ Quick Start
|
|
8
10
|
|
|
9
11
|
```bash
|
|
10
|
-
npx
|
|
12
|
+
npx create-adk-agent my-agent
|
|
11
13
|
```
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
That's it! You'll get a fully configured ADK project with:
|
|
16
|
+
- โ
TypeScript configured for ADK
|
|
17
|
+
- โ
Environment setup with API key validation
|
|
18
|
+
- โ
Working agent examples from official docs
|
|
19
|
+
- โ
Hot reload development with tsx
|
|
20
|
+
- โ
Testing setup with Jest
|
|
21
|
+
- โ
All the tooling (ESLint, Prettier, etc.)
|
|
14
22
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
23
|
+
## ๐ก Why Use This?
|
|
24
|
+
|
|
25
|
+
Instead of manually setting up TypeScript, configuring ESM, managing API keys, and copying examples from docs, `create-adk-agent` does it all for you in one command.
|
|
26
|
+
|
|
27
|
+
**Perfect for:**
|
|
28
|
+
- ๐ Learning ADK quickly with working examples
|
|
29
|
+
- ๐ Starting new ADK projects without boilerplate hassle
|
|
30
|
+
- ๐ฆ Getting ADK best practices out of the box
|
|
31
|
+
- ๐ Experimenting with different agent patterns
|
|
18
32
|
|
|
19
|
-
## โจ
|
|
33
|
+
## โจ What You Get
|
|
20
34
|
|
|
21
|
-
|
|
22
|
-
- ๐ **Multi-Model Support** - Works with Gemini, OpenAI, and Anthropic models
|
|
23
|
-
- โก **tsx Development** - Instant TypeScript execution with hot reload (no build step)
|
|
24
|
-
- ๐ **Security First** - Built-in `.env` management with clear security warnings
|
|
25
|
-
- ๐งช **Testing Ready** - Pre-configured Jest testing setup
|
|
26
|
-
- ๐ฆ **Modern Stack** - TypeScript, ESLint, Prettier, Zod validation
|
|
35
|
+
## โจ What You Get
|
|
27
36
|
|
|
28
|
-
|
|
37
|
+
- ๐ค **5 Agent Templates** - Pre-built examples from [official ADK docs](https://google.github.io/adk-docs/) (basic, multi-tool, team, streaming, workflow)
|
|
38
|
+
- ๐ **Multi-Model Ready** - Pre-configured for Gemini, OpenAI, and Anthropic
|
|
39
|
+
- โก **Hot Reload** - Instant TypeScript execution with tsx (no build step needed)
|
|
40
|
+
- ๐ **Security Built-in** - Proper `.env` handling with validation and git-ignore
|
|
41
|
+
- ๐งช **Testing Included** - Jest configured and ready to go
|
|
42
|
+
- ๐ฆ **Best Practices** - TypeScript, ESLint, Prettier, Zod validation
|
|
43
|
+
|
|
44
|
+
## ๐ Agent Templates
|
|
45
|
+
|
|
46
|
+
All templates are based on [official ADK documentation examples](https://google.github.io/adk-docs/):
|
|
29
47
|
|
|
30
48
|
### Basic Agent
|
|
31
49
|
|
|
@@ -49,28 +67,30 @@ Sequential workflow patterns with validation, transformation, and saving steps.
|
|
|
49
67
|
|
|
50
68
|
## ๐ฏ Usage
|
|
51
69
|
|
|
52
|
-
### Interactive
|
|
70
|
+
### Simple (Interactive)
|
|
71
|
+
|
|
72
|
+
Just run the command and answer a few questions:
|
|
53
73
|
|
|
54
74
|
```bash
|
|
55
|
-
npx
|
|
75
|
+
npx create-adk-agent my-agent
|
|
56
76
|
```
|
|
57
77
|
|
|
58
|
-
You'll
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
- Whether to install dependencies
|
|
78
|
+
You'll choose:
|
|
79
|
+
- Which agent templates to include
|
|
80
|
+
- Your preferred model provider (Gemini, OpenAI, or Anthropic)
|
|
81
|
+
- Whether to install dependencies now
|
|
63
82
|
- Whether to initialize git
|
|
64
83
|
|
|
65
|
-
### Non-Interactive
|
|
84
|
+
### Advanced (Non-Interactive)
|
|
85
|
+
|
|
86
|
+
Skip prompts by providing options:
|
|
66
87
|
|
|
67
88
|
```bash
|
|
68
|
-
npx
|
|
89
|
+
npx create-adk-agent my-agent \
|
|
69
90
|
--templates=basic,multi-tool \
|
|
70
91
|
--modelProvider=gemini \
|
|
71
92
|
--model=gemini-3.0-flash \
|
|
72
93
|
--description="My custom agent" \
|
|
73
|
-
--directory=apps \
|
|
74
94
|
--installDependencies \
|
|
75
95
|
--no-interactive
|
|
76
96
|
```
|
|
@@ -114,7 +134,30 @@ npx @adk-ts-new/create-adk-agent my-agent \
|
|
|
114
134
|
|
|
115
135
|
**Note:** You can change to any model after project generation. The list above is for initial setup convenience.
|
|
116
136
|
|
|
117
|
-
##
|
|
137
|
+
## ๐ฌ Getting Started Workflow
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# 1. Create your project (takes ~10 seconds)
|
|
141
|
+
npx create-adk-agent my-agent
|
|
142
|
+
|
|
143
|
+
# 2. Navigate to project
|
|
144
|
+
cd my-agent
|
|
145
|
+
|
|
146
|
+
# 3. Add your API key
|
|
147
|
+
cp .env.example .env
|
|
148
|
+
# Edit .env and add your API key (get it from links in the file)
|
|
149
|
+
|
|
150
|
+
# 4. Start coding! (hot reload enabled)
|
|
151
|
+
npm run dev
|
|
152
|
+
|
|
153
|
+
# 5. Or use ADK DevTools
|
|
154
|
+
npm run adk:web # Beautiful web UI
|
|
155
|
+
npm run adk:run # CLI runner
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**That's it!** You're now building with ADK. No complex setup, no configuration headaches.
|
|
159
|
+
|
|
160
|
+
## ๐ Learn More About ADK
|
|
118
161
|
|
|
119
162
|
```
|
|
120
163
|
my-agent/
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { execSync } from 'child_process';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
|
+
import { dirname, resolve } from 'path';
|
|
6
|
+
|
|
7
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
8
|
+
const __dirname = dirname(__filename);
|
|
9
|
+
|
|
10
|
+
// Get the arguments passed to the script (excluding node and script path)
|
|
11
|
+
const args = process.argv.slice(2);
|
|
12
|
+
|
|
13
|
+
// Check if a project name was provided
|
|
14
|
+
if (args.length === 0) {
|
|
15
|
+
console.error('โ Error: Please provide a project name');
|
|
16
|
+
console.error('Usage: npx create-adk-agent <project-name> [options]');
|
|
17
|
+
console.error('');
|
|
18
|
+
console.error('Example:');
|
|
19
|
+
console.error(' npx create-adk-agent my-agent');
|
|
20
|
+
console.error(' npx create-adk-agent my-agent --templates=basic,multi-tool --no-interactive');
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Build the nx command
|
|
25
|
+
const generatorPath = resolve(__dirname, '..');
|
|
26
|
+
const command = `npx --yes nx g ${generatorPath}:init ${args.join(' ')}`;
|
|
27
|
+
|
|
28
|
+
console.log('๐ Creating your ADK agent project...');
|
|
29
|
+
console.log('');
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
// Execute the nx generator command
|
|
33
|
+
execSync(command, { stdio: 'inherit', cwd: process.cwd() });
|
|
34
|
+
} catch (error) {
|
|
35
|
+
console.error('');
|
|
36
|
+
console.error('โ Failed to create project');
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-adk-agent",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "Nx generator for scaffolding ADK (Agent Development Kit) TypeScript projects with multiple templates, multi-model support, and modern tooling",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"adk",
|
|
@@ -23,6 +23,9 @@
|
|
|
23
23
|
"author": "Maina Wycliffe",
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"type": "module",
|
|
26
|
+
"bin": {
|
|
27
|
+
"create-adk-agent": "./bin/create-adk-agent.js"
|
|
28
|
+
},
|
|
26
29
|
"scripts": {
|
|
27
30
|
"prepublishOnly": "nx build create-adk-agent",
|
|
28
31
|
"publish:dry-run": "npm publish --dry-run",
|
|
@@ -43,6 +46,7 @@
|
|
|
43
46
|
},
|
|
44
47
|
"files": [
|
|
45
48
|
"dist",
|
|
49
|
+
"bin",
|
|
46
50
|
"generators.json",
|
|
47
51
|
"src/generators/**/files/**",
|
|
48
52
|
"src/generators/**/schema.json",
|
|
@@ -70,4 +74,4 @@
|
|
|
70
74
|
"@nx/devkit": "^22.3.3",
|
|
71
75
|
"@swc/helpers": "~0.5.11"
|
|
72
76
|
}
|
|
73
|
-
}
|
|
77
|
+
}
|