Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
00c941c
Created base create-onchain-agent package
CarsonRoscoe Feb 18, 2025
91ee6d5
Added base templates/next template
CarsonRoscoe Feb 18, 2025
4c67161
Improved CLI handling of wallet provider
CarsonRoscoe Feb 18, 2025
a523915
Improve responsiveness of UI
CarsonRoscoe Feb 18, 2025
76c720d
Finished working out what a agent route looks like
CarsonRoscoe Feb 18, 2025
433e106
Implemented API routes for CDV, Viem, Privy and Solana routes
CarsonRoscoe Feb 18, 2025
1c62e6d
Refactored naming of route configuration and options
CarsonRoscoe Feb 18, 2025
72e59ae
Setup CLI for testing
CarsonRoscoe Feb 18, 2025
dd17fd1
Added branching to CLI for network -> wallet provider selection
CarsonRoscoe Feb 19, 2025
ab897c5
chore: handling defaults in CLI
CarsonRoscoe Feb 19, 2025
9743183
chore: refactored api routes to better reflect network/walletProvider…
CarsonRoscoe Feb 20, 2025
260897d
fix: changes after rebase
CarsonRoscoe Feb 20, 2025
2143171
chore: cleanup files better after refactor
CarsonRoscoe Feb 20, 2025
c089a46
feat: improve CLI display
CarsonRoscoe Feb 20, 2025
ccda182
fix: adressed feedback
CarsonRoscoe Feb 20, 2025
968a2cd
feat: improved the cli logged messages
CarsonRoscoe Feb 20, 2025
96f75fd
refactor: types and constants out of utils
CarsonRoscoe Feb 20, 2025
fbc3b8e
refactor: refactored constants and types out of utils
CarsonRoscoe Feb 20, 2025
97376d4
refactor: fileSystem out of cli
CarsonRoscoe Feb 20, 2025
7fb5350
feat: coinbase branding improvements
CarsonRoscoe Feb 20, 2025
5fc4fb2
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
90acd53
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
afad722
feat: parse markdown when displaying agent messages
CarsonRoscoe Feb 20, 2025
dc4d1be
chore: added comments to files where agents get created
CarsonRoscoe Feb 20, 2025
8a4871c
chore: refactored useAgent and commented
CarsonRoscoe Feb 20, 2025
5c80f9f
chore: added base project README
CarsonRoscoe Feb 20, 2025
67f3f2d
feat: added wallet provider descriptions to cli
CarsonRoscoe Feb 20, 2025
8ab6f7f
bump: 0.1.0
CarsonRoscoe Feb 20, 2025
7c5094f
fix: added files for npm
CarsonRoscoe Feb 20, 2025
406de3e
chore: improved readme
CarsonRoscoe Feb 20, 2025
f440741
chore: removed @coinbase from package.json
CarsonRoscoe Feb 20, 2025
949ac3e
chore: added basis for prettier and lint
CarsonRoscoe Feb 21, 2025
0439961
chore: cli readme feedback
CarsonRoscoe Feb 21, 2025
8ce2386
chore: template readme feedback
CarsonRoscoe Feb 21, 2025
400615b
chore: add coinbase to package description
CarsonRoscoe Feb 21, 2025
bec4a5f
chore: fixed prettier and ran
CarsonRoscoe Feb 21, 2025
8d9985f
chore: fixed lint and ran
CarsonRoscoe Feb 21, 2025
0992d2c
fix: package.lock
CarsonRoscoe Feb 21, 2025
eb46ffc
bump: 0.1.1
CarsonRoscoe Feb 22, 2025
3de135b
chore: typescript readme
CarsonRoscoe Feb 22, 2025
2781133
chore: fix constants lint error
CarsonRoscoe Feb 22, 2025
881ed43
feat: add dynamic message modifier and faucet to template
CarsonRoscoe Feb 22, 2025
530df5c
chore: comment regarding faucet
CarsonRoscoe Feb 22, 2025
1438ff5
chore: fixed package.lock
CarsonRoscoe Feb 22, 2025
d38c56b
fix: typo in readme
CarsonRoscoe Feb 22, 2025
5c5dda5
chore: updated readme to better reflect the outcome of create-onchain…
CarsonRoscoe Feb 22, 2025
f5c8ccb
bump: 0.1.2
CarsonRoscoe Feb 22, 2025
4df8e5d
feat: added wallet persistance for cdp
CarsonRoscoe Feb 22, 2025
d468114
chore: updated package-lock after bump
CarsonRoscoe Feb 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
501 changes: 472 additions & 29 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,7 @@
"private": true,
"workspaces": [
"typescript/agentkit",
"typescript/create-onchain-agent",
"typescript/framework-extensions/langchain",
"typescript/examples/langchain-cdp-chatbot",
"typescript/examples/langchain-twitter-chatbot",
Expand Down
5 changes: 5 additions & 0 deletions typescript/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,3 +16,8 @@ LangChain extension of AgentKit. Enables agentic workflows to interact with onch

See [AgentKit LangChain](./framework-extensions/langchain/README.md) to get started!

### `create-onchain-agent`

A quickstart CLI tool to scaffold out a fullstack chatbot application using Coinbase AgentKit. Runnable via `npm create onchain-agent@latest`.

See [Create Onchain Agent](./create-onchain-agent/README.md) to get started!
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.eslintrc.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"parser": "@typescript-eslint/parser",
"extends": ["../../.eslintrc.base.json"]
}
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.npmignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
# Source
src/**
./node_modules/
__tests__/**
7 changes: 7 additions & 0 deletions typescript/create-onchain-agent/.prettierignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
docs/
dist/
coverage/
.github/
src/client
**/**/*.json
*.md
11 changes: 11 additions & 0 deletions typescript/create-onchain-agent/.prettierrc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
{
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "avoid",
"printWidth": 100,
"proseWrap": "never"
}
73 changes: 73 additions & 0 deletions typescript/create-onchain-agent/README.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
# create-onchain-agent

## Overview

`create-onchain-agent` is a CLI tool powered by [AgentKit](https://github.com/coinbase/agentkit) that allows developers to quickly scaffold an **onchain agent** project. This tool simplifies the setup process by generating a project with predefined configurations, including blockchain network selection, wallet providers, and framework setup.

## Prerequisites

Before using `create-onchain-agent`, ensure you have the following installed:

- **Node.js** (v18 or later) – [Download here](https://nodejs.org/)
- **npm** (v9 or later) – Comes bundled with Node.js

## Usage

To use `create-onchain-agent`, simply run:

```sh
npm create onchain-agent@latest
```

This command will guide you through setting up an onchain agent project by prompting for necessary configuration options.

## Features

- **Guided setup**: Interactive prompts help configure the project.
- **Supports multiple blockchain networks**.
- **Select your preferred wallet provider**.
- **Preconfigured with Next.js, React, Tailwind CSS, and ESLint**.
- **Automates environment setup**.

### **Setup Process**
The CLI will prompt you for the following details:

1. **Project Name**: The name of your new onchain agent project.
2. **Package Name**: The npm package name (auto-formatted if needed).
3. **Network**: Choose from available blockchain networks.
4. **Chain ID**: Specify if using a custom network.
5. **Wallet Provider**: Select a preferred method for wallet management.

After answering the prompts, the CLI will:

- Generate the project structure.
- Copy necessary template files.
- Configure the selected settings.
- Display next steps to get started.

## Getting Started

Once your project is created, navigate into the directory and install dependencies:

```sh
cd my-project
npm install
```

Then, configure your environment variables:

```sh
mv .env.local .env
```

Run the development server:

```sh
npm run dev
```

## Documentation & Support

- **Docs:** [https://docs.cdp.coinbase.com/agentkit/docs/welcome](https://docs.cdp.coinbase.com/agentkit/docs/welcome)
- **GitHub Repo:** [http://github.com/coinbase/agentkit](http://github.com/coinbase/agentkit)
- **Community & Support:** [https://discord.gg/CDP](https://discord.gg/CDP)
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
00c941c
Created base create-onchain-agent package
CarsonRoscoe Feb 18, 2025
91ee6d5
Added base templates/next template
CarsonRoscoe Feb 18, 2025
4c67161
Improved CLI handling of wallet provider
CarsonRoscoe Feb 18, 2025
a523915
Improve responsiveness of UI
CarsonRoscoe Feb 18, 2025
76c720d
Finished working out what a agent route looks like
CarsonRoscoe Feb 18, 2025
433e106
Implemented API routes for CDV, Viem, Privy and Solana routes
CarsonRoscoe Feb 18, 2025
1c62e6d
Refactored naming of route configuration and options
CarsonRoscoe Feb 18, 2025
72e59ae
Setup CLI for testing
CarsonRoscoe Feb 18, 2025
dd17fd1
Added branching to CLI for network -> wallet provider selection
CarsonRoscoe Feb 19, 2025
ab897c5
chore: handling defaults in CLI
CarsonRoscoe Feb 19, 2025
9743183
chore: refactored api routes to better reflect network/walletProvider…
CarsonRoscoe Feb 20, 2025
260897d
fix: changes after rebase
CarsonRoscoe Feb 20, 2025
2143171
chore: cleanup files better after refactor
CarsonRoscoe Feb 20, 2025
c089a46
feat: improve CLI display
CarsonRoscoe Feb 20, 2025
ccda182
fix: adressed feedback
CarsonRoscoe Feb 20, 2025
968a2cd
feat: improved the cli logged messages
CarsonRoscoe Feb 20, 2025
96f75fd
refactor: types and constants out of utils
CarsonRoscoe Feb 20, 2025
fbc3b8e
refactor: refactored constants and types out of utils
CarsonRoscoe Feb 20, 2025
97376d4
refactor: fileSystem out of cli
CarsonRoscoe Feb 20, 2025
7fb5350
feat: coinbase branding improvements
CarsonRoscoe Feb 20, 2025
5fc4fb2
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
90acd53
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
afad722
feat: parse markdown when displaying agent messages
CarsonRoscoe Feb 20, 2025
dc4d1be
chore: added comments to files where agents get created
CarsonRoscoe Feb 20, 2025
8a4871c
chore: refactored useAgent and commented
CarsonRoscoe Feb 20, 2025
5c80f9f
chore: added base project README
CarsonRoscoe Feb 20, 2025
67f3f2d
feat: added wallet provider descriptions to cli
CarsonRoscoe Feb 20, 2025
8ab6f7f
bump: 0.1.0
CarsonRoscoe Feb 20, 2025
7c5094f
fix: added files for npm
CarsonRoscoe Feb 20, 2025
406de3e
chore: improved readme
CarsonRoscoe Feb 20, 2025
f440741
chore: removed @coinbase from package.json
CarsonRoscoe Feb 20, 2025
949ac3e
chore: added basis for prettier and lint
CarsonRoscoe Feb 21, 2025
0439961
chore: cli readme feedback
CarsonRoscoe Feb 21, 2025
8ce2386
chore: template readme feedback
CarsonRoscoe Feb 21, 2025
400615b
chore: add coinbase to package description
CarsonRoscoe Feb 21, 2025
bec4a5f
chore: fixed prettier and ran
CarsonRoscoe Feb 21, 2025
8d9985f
chore: fixed lint and ran
CarsonRoscoe Feb 21, 2025
0992d2c
fix: package.lock
CarsonRoscoe Feb 21, 2025
eb46ffc
bump: 0.1.1
CarsonRoscoe Feb 22, 2025
3de135b
chore: typescript readme
CarsonRoscoe Feb 22, 2025
2781133
chore: fix constants lint error
CarsonRoscoe Feb 22, 2025
881ed43
feat: add dynamic message modifier and faucet to template
CarsonRoscoe Feb 22, 2025
530df5c
chore: comment regarding faucet
CarsonRoscoe Feb 22, 2025
1438ff5
chore: fixed package.lock
CarsonRoscoe Feb 22, 2025
d38c56b
fix: typo in readme
CarsonRoscoe Feb 22, 2025
5c5dda5
chore: updated readme to better reflect the outcome of create-onchain…
CarsonRoscoe Feb 22, 2025
f5c8ccb
bump: 0.1.2
CarsonRoscoe Feb 22, 2025
4df8e5d
feat: added wallet persistance for cdp
CarsonRoscoe Feb 22, 2025
d468114
chore: updated package-lock after bump
CarsonRoscoe Feb 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
501 changes: 472 additions & 29 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,7 @@
"private": true,
"workspaces": [
"typescript/agentkit",
"typescript/create-onchain-agent",
"typescript/framework-extensions/langchain",
"typescript/examples/langchain-cdp-chatbot",
"typescript/examples/langchain-twitter-chatbot",
Expand Down
5 changes: 5 additions & 0 deletions typescript/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,3 +16,8 @@ LangChain extension of AgentKit. Enables agentic workflows to interact with onch

See [AgentKit LangChain](./framework-extensions/langchain/README.md) to get started!

### `create-onchain-agent`

A quickstart CLI tool to scaffold out a fullstack chatbot application using Coinbase AgentKit. Runnable via `npm create onchain-agent@latest`.

See [Create Onchain Agent](./create-onchain-agent/README.md) to get started!
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.eslintrc.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"parser": "@typescript-eslint/parser",
"extends": ["../../.eslintrc.base.json"]
}
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.npmignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
# Source
src/**
./node_modules/
__tests__/**
7 changes: 7 additions & 0 deletions typescript/create-onchain-agent/.prettierignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
docs/
dist/
coverage/
.github/
src/client
**/**/*.json
*.md
11 changes: 11 additions & 0 deletions typescript/create-onchain-agent/.prettierrc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
{
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "avoid",
"printWidth": 100,
"proseWrap": "never"
}
73 changes: 73 additions & 0 deletions typescript/create-onchain-agent/README.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
# create-onchain-agent

## Overview

`create-onchain-agent` is a CLI tool powered by [AgentKit](https://github.com/coinbase/agentkit) that allows developers to quickly scaffold an **onchain agent** project. This tool simplifies the setup process by generating a project with predefined configurations, including blockchain network selection, wallet providers, and framework setup.

## Prerequisites

Before using `create-onchain-agent`, ensure you have the following installed:

- **Node.js** (v18 or later) – [Download here](https://nodejs.org/)
- **npm** (v9 or later) – Comes bundled with Node.js

## Usage

To use `create-onchain-agent`, simply run:

```sh
npm create onchain-agent@latest
```

This command will guide you through setting up an onchain agent project by prompting for necessary configuration options.

## Features

- **Guided setup**: Interactive prompts help configure the project.
- **Supports multiple blockchain networks**.
- **Select your preferred wallet provider**.
- **Preconfigured with Next.js, React, Tailwind CSS, and ESLint**.
- **Automates environment setup**.

### **Setup Process**
The CLI will prompt you for the following details:

1. **Project Name**: The name of your new onchain agent project.
2. **Package Name**: The npm package name (auto-formatted if needed).
3. **Network**: Choose from available blockchain networks.
4. **Chain ID**: Specify if using a custom network.
5. **Wallet Provider**: Select a preferred method for wallet management.

After answering the prompts, the CLI will:

- Generate the project structure.
- Copy necessary template files.
- Configure the selected settings.
- Display next steps to get started.

## Getting Started

Once your project is created, navigate into the directory and install dependencies:

```sh
cd my-project
npm install
```

Then, configure your environment variables:

```sh
mv .env.local .env
```

Run the development server:

```sh
npm run dev
```

## Documentation & Support

- **Docs:** [https://docs.cdp.coinbase.com/agentkit/docs/welcome](https://docs.cdp.coinbase.com/agentkit/docs/welcome)
- **GitHub Repo:** [http://github.com/coinbase/agentkit](http://github.com/coinbase/agentkit)
- **Community & Support:** [https://discord.gg/CDP](https://discord.gg/CDP)
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
00c941c
Created base create-onchain-agent package
CarsonRoscoe Feb 18, 2025
91ee6d5
Added base templates/next template
CarsonRoscoe Feb 18, 2025
4c67161
Improved CLI handling of wallet provider
CarsonRoscoe Feb 18, 2025
a523915
Improve responsiveness of UI
CarsonRoscoe Feb 18, 2025
76c720d
Finished working out what a agent route looks like
CarsonRoscoe Feb 18, 2025
433e106
Implemented API routes for CDV, Viem, Privy and Solana routes
CarsonRoscoe Feb 18, 2025
1c62e6d
Refactored naming of route configuration and options
CarsonRoscoe Feb 18, 2025
72e59ae
Setup CLI for testing
CarsonRoscoe Feb 18, 2025
dd17fd1
Added branching to CLI for network -> wallet provider selection
CarsonRoscoe Feb 19, 2025
ab897c5
chore: handling defaults in CLI
CarsonRoscoe Feb 19, 2025
9743183
chore: refactored api routes to better reflect network/walletProvider…
CarsonRoscoe Feb 20, 2025
260897d
fix: changes after rebase
CarsonRoscoe Feb 20, 2025
2143171
chore: cleanup files better after refactor
CarsonRoscoe Feb 20, 2025
c089a46
feat: improve CLI display
CarsonRoscoe Feb 20, 2025
ccda182
fix: adressed feedback
CarsonRoscoe Feb 20, 2025
968a2cd
feat: improved the cli logged messages
CarsonRoscoe Feb 20, 2025
96f75fd
refactor: types and constants out of utils
CarsonRoscoe Feb 20, 2025
fbc3b8e
refactor: refactored constants and types out of utils
CarsonRoscoe Feb 20, 2025
97376d4
refactor: fileSystem out of cli
CarsonRoscoe Feb 20, 2025
7fb5350
feat: coinbase branding improvements
CarsonRoscoe Feb 20, 2025
5fc4fb2
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
90acd53
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
afad722
feat: parse markdown when displaying agent messages
CarsonRoscoe Feb 20, 2025
dc4d1be
chore: added comments to files where agents get created
CarsonRoscoe Feb 20, 2025
8a4871c
chore: refactored useAgent and commented
CarsonRoscoe Feb 20, 2025
5c80f9f
chore: added base project README
CarsonRoscoe Feb 20, 2025
67f3f2d
feat: added wallet provider descriptions to cli
CarsonRoscoe Feb 20, 2025
8ab6f7f
bump: 0.1.0
CarsonRoscoe Feb 20, 2025
7c5094f
fix: added files for npm
CarsonRoscoe Feb 20, 2025
406de3e
chore: improved readme
CarsonRoscoe Feb 20, 2025
f440741
chore: removed @coinbase from package.json
CarsonRoscoe Feb 20, 2025
949ac3e
chore: added basis for prettier and lint
CarsonRoscoe Feb 21, 2025
0439961
chore: cli readme feedback
CarsonRoscoe Feb 21, 2025
8ce2386
chore: template readme feedback
CarsonRoscoe Feb 21, 2025
400615b
chore: add coinbase to package description
CarsonRoscoe Feb 21, 2025
bec4a5f
chore: fixed prettier and ran
CarsonRoscoe Feb 21, 2025
8d9985f
chore: fixed lint and ran
CarsonRoscoe Feb 21, 2025
0992d2c
fix: package.lock
CarsonRoscoe Feb 21, 2025
eb46ffc
bump: 0.1.1
CarsonRoscoe Feb 22, 2025
3de135b
chore: typescript readme
CarsonRoscoe Feb 22, 2025
2781133
chore: fix constants lint error
CarsonRoscoe Feb 22, 2025
881ed43
feat: add dynamic message modifier and faucet to template
CarsonRoscoe Feb 22, 2025
530df5c
chore: comment regarding faucet
CarsonRoscoe Feb 22, 2025
1438ff5
chore: fixed package.lock
CarsonRoscoe Feb 22, 2025
d38c56b
fix: typo in readme
CarsonRoscoe Feb 22, 2025
5c5dda5
chore: updated readme to better reflect the outcome of create-onchain…
CarsonRoscoe Feb 22, 2025
f5c8ccb
bump: 0.1.2
CarsonRoscoe Feb 22, 2025
4df8e5d
feat: added wallet persistance for cdp
CarsonRoscoe Feb 22, 2025
d468114
chore: updated package-lock after bump
CarsonRoscoe Feb 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
501 changes: 472 additions & 29 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,7 @@
"private": true,
"workspaces": [
"typescript/agentkit",
"typescript/create-onchain-agent",
"typescript/framework-extensions/langchain",
"typescript/examples/langchain-cdp-chatbot",
"typescript/examples/langchain-twitter-chatbot",
Expand Down
5 changes: 5 additions & 0 deletions typescript/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,3 +16,8 @@ LangChain extension of AgentKit. Enables agentic workflows to interact with onch

See [AgentKit LangChain](./framework-extensions/langchain/README.md) to get started!

### `create-onchain-agent`

A quickstart CLI tool to scaffold out a fullstack chatbot application using Coinbase AgentKit. Runnable via `npm create onchain-agent@latest`.

See [Create Onchain Agent](./create-onchain-agent/README.md) to get started!
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.eslintrc.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"parser": "@typescript-eslint/parser",
"extends": ["../../.eslintrc.base.json"]
}
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.npmignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
# Source
src/**
./node_modules/
__tests__/**
7 changes: 7 additions & 0 deletions typescript/create-onchain-agent/.prettierignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
docs/
dist/
coverage/
.github/
src/client
**/**/*.json
*.md
11 changes: 11 additions & 0 deletions typescript/create-onchain-agent/.prettierrc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
{
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "avoid",
"printWidth": 100,
"proseWrap": "never"
}
73 changes: 73 additions & 0 deletions typescript/create-onchain-agent/README.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
# create-onchain-agent

## Overview

`create-onchain-agent` is a CLI tool powered by [AgentKit](https://github.com/coinbase/agentkit) that allows developers to quickly scaffold an **onchain agent** project. This tool simplifies the setup process by generating a project with predefined configurations, including blockchain network selection, wallet providers, and framework setup.

## Prerequisites

Before using `create-onchain-agent`, ensure you have the following installed:

- **Node.js** (v18 or later) – [Download here](https://nodejs.org/)
- **npm** (v9 or later) – Comes bundled with Node.js

## Usage

To use `create-onchain-agent`, simply run:

```sh
npm create onchain-agent@latest
```

This command will guide you through setting up an onchain agent project by prompting for necessary configuration options.

## Features

- **Guided setup**: Interactive prompts help configure the project.
- **Supports multiple blockchain networks**.
- **Select your preferred wallet provider**.
- **Preconfigured with Next.js, React, Tailwind CSS, and ESLint**.
- **Automates environment setup**.

### **Setup Process**
The CLI will prompt you for the following details:

1. **Project Name**: The name of your new onchain agent project.
2. **Package Name**: The npm package name (auto-formatted if needed).
3. **Network**: Choose from available blockchain networks.
4. **Chain ID**: Specify if using a custom network.
5. **Wallet Provider**: Select a preferred method for wallet management.

After answering the prompts, the CLI will:

- Generate the project structure.
- Copy necessary template files.
- Configure the selected settings.
- Display next steps to get started.

## Getting Started

Once your project is created, navigate into the directory and install dependencies:

```sh
cd my-project
npm install
```

Then, configure your environment variables:

```sh
mv .env.local .env
```

Run the development server:

```sh
npm run dev
```

## Documentation & Support

- **Docs:** [https://docs.cdp.coinbase.com/agentkit/docs/welcome](https://docs.cdp.coinbase.com/agentkit/docs/welcome)
- **GitHub Repo:** [http://github.com/coinbase/agentkit](http://github.com/coinbase/agentkit)
- **Community & Support:** [https://discord.gg/CDP](https://discord.gg/CDP)
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
00c941c
Created base create-onchain-agent package
CarsonRoscoe Feb 18, 2025
91ee6d5
Added base templates/next template
CarsonRoscoe Feb 18, 2025
4c67161
Improved CLI handling of wallet provider
CarsonRoscoe Feb 18, 2025
a523915
Improve responsiveness of UI
CarsonRoscoe Feb 18, 2025
76c720d
Finished working out what a agent route looks like
CarsonRoscoe Feb 18, 2025
433e106
Implemented API routes for CDV, Viem, Privy and Solana routes
CarsonRoscoe Feb 18, 2025
1c62e6d
Refactored naming of route configuration and options
CarsonRoscoe Feb 18, 2025
72e59ae
Setup CLI for testing
CarsonRoscoe Feb 18, 2025
dd17fd1
Added branching to CLI for network -> wallet provider selection
CarsonRoscoe Feb 19, 2025
ab897c5
chore: handling defaults in CLI
CarsonRoscoe Feb 19, 2025
9743183
chore: refactored api routes to better reflect network/walletProvider…
CarsonRoscoe Feb 20, 2025
260897d
fix: changes after rebase
CarsonRoscoe Feb 20, 2025
2143171
chore: cleanup files better after refactor
CarsonRoscoe Feb 20, 2025
c089a46
feat: improve CLI display
CarsonRoscoe Feb 20, 2025
ccda182
fix: adressed feedback
CarsonRoscoe Feb 20, 2025
968a2cd
feat: improved the cli logged messages
CarsonRoscoe Feb 20, 2025
96f75fd
refactor: types and constants out of utils
CarsonRoscoe Feb 20, 2025
fbc3b8e
refactor: refactored constants and types out of utils
CarsonRoscoe Feb 20, 2025
97376d4
refactor: fileSystem out of cli
CarsonRoscoe Feb 20, 2025
7fb5350
feat: coinbase branding improvements
CarsonRoscoe Feb 20, 2025
5fc4fb2
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
90acd53
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
afad722
feat: parse markdown when displaying agent messages
CarsonRoscoe Feb 20, 2025
dc4d1be
chore: added comments to files where agents get created
CarsonRoscoe Feb 20, 2025
8a4871c
chore: refactored useAgent and commented
CarsonRoscoe Feb 20, 2025
5c80f9f
chore: added base project README
CarsonRoscoe Feb 20, 2025
67f3f2d
feat: added wallet provider descriptions to cli
CarsonRoscoe Feb 20, 2025
8ab6f7f
bump: 0.1.0
CarsonRoscoe Feb 20, 2025
7c5094f
fix: added files for npm
CarsonRoscoe Feb 20, 2025
406de3e
chore: improved readme
CarsonRoscoe Feb 20, 2025
f440741
chore: removed @coinbase from package.json
CarsonRoscoe Feb 20, 2025
949ac3e
chore: added basis for prettier and lint
CarsonRoscoe Feb 21, 2025
0439961
chore: cli readme feedback
CarsonRoscoe Feb 21, 2025
8ce2386
chore: template readme feedback
CarsonRoscoe Feb 21, 2025
400615b
chore: add coinbase to package description
CarsonRoscoe Feb 21, 2025
bec4a5f
chore: fixed prettier and ran
CarsonRoscoe Feb 21, 2025
8d9985f
chore: fixed lint and ran
CarsonRoscoe Feb 21, 2025
0992d2c
fix: package.lock
CarsonRoscoe Feb 21, 2025
eb46ffc
bump: 0.1.1
CarsonRoscoe Feb 22, 2025
3de135b
chore: typescript readme
CarsonRoscoe Feb 22, 2025
2781133
chore: fix constants lint error
CarsonRoscoe Feb 22, 2025
881ed43
feat: add dynamic message modifier and faucet to template
CarsonRoscoe Feb 22, 2025
530df5c
chore: comment regarding faucet
CarsonRoscoe Feb 22, 2025
1438ff5
chore: fixed package.lock
CarsonRoscoe Feb 22, 2025
d38c56b
fix: typo in readme
CarsonRoscoe Feb 22, 2025
5c5dda5
chore: updated readme to better reflect the outcome of create-onchain…
CarsonRoscoe Feb 22, 2025
f5c8ccb
bump: 0.1.2
CarsonRoscoe Feb 22, 2025
4df8e5d
feat: added wallet persistance for cdp
CarsonRoscoe Feb 22, 2025
d468114
chore: updated package-lock after bump
CarsonRoscoe Feb 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
501 changes: 472 additions & 29 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,7 @@
"private": true,
"workspaces": [
"typescript/agentkit",
"typescript/create-onchain-agent",
"typescript/framework-extensions/langchain",
"typescript/examples/langchain-cdp-chatbot",
"typescript/examples/langchain-twitter-chatbot",
Expand Down
5 changes: 5 additions & 0 deletions typescript/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,3 +16,8 @@ LangChain extension of AgentKit. Enables agentic workflows to interact with onch

See [AgentKit LangChain](./framework-extensions/langchain/README.md) to get started!

### `create-onchain-agent`

A quickstart CLI tool to scaffold out a fullstack chatbot application using Coinbase AgentKit. Runnable via `npm create onchain-agent@latest`.

See [Create Onchain Agent](./create-onchain-agent/README.md) to get started!
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.eslintrc.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"parser": "@typescript-eslint/parser",
"extends": ["../../.eslintrc.base.json"]
}
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.npmignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
# Source
src/**
./node_modules/
__tests__/**
7 changes: 7 additions & 0 deletions typescript/create-onchain-agent/.prettierignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
docs/
dist/
coverage/
.github/
src/client
**/**/*.json
*.md
11 changes: 11 additions & 0 deletions typescript/create-onchain-agent/.prettierrc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
{
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "avoid",
"printWidth": 100,
"proseWrap": "never"
}
73 changes: 73 additions & 0 deletions typescript/create-onchain-agent/README.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
# create-onchain-agent

## Overview

`create-onchain-agent` is a CLI tool powered by [AgentKit](https://github.com/coinbase/agentkit) that allows developers to quickly scaffold an **onchain agent** project. This tool simplifies the setup process by generating a project with predefined configurations, including blockchain network selection, wallet providers, and framework setup.

## Prerequisites

Before using `create-onchain-agent`, ensure you have the following installed:

- **Node.js** (v18 or later) – [Download here](https://nodejs.org/)
- **npm** (v9 or later) – Comes bundled with Node.js

## Usage

To use `create-onchain-agent`, simply run:

```sh
npm create onchain-agent@latest
```

This command will guide you through setting up an onchain agent project by prompting for necessary configuration options.

## Features

- **Guided setup**: Interactive prompts help configure the project.
- **Supports multiple blockchain networks**.
- **Select your preferred wallet provider**.
- **Preconfigured with Next.js, React, Tailwind CSS, and ESLint**.
- **Automates environment setup**.

### **Setup Process**
The CLI will prompt you for the following details:

1. **Project Name**: The name of your new onchain agent project.
2. **Package Name**: The npm package name (auto-formatted if needed).
3. **Network**: Choose from available blockchain networks.
4. **Chain ID**: Specify if using a custom network.
5. **Wallet Provider**: Select a preferred method for wallet management.

After answering the prompts, the CLI will:

- Generate the project structure.
- Copy necessary template files.
- Configure the selected settings.
- Display next steps to get started.

## Getting Started

Once your project is created, navigate into the directory and install dependencies:

```sh
cd my-project
npm install
```

Then, configure your environment variables:

```sh
mv .env.local .env
```

Run the development server:

```sh
npm run dev
```

## Documentation & Support

- **Docs:** [https://docs.cdp.coinbase.com/agentkit/docs/welcome](https://docs.cdp.coinbase.com/agentkit/docs/welcome)
- **GitHub Repo:** [http://github.com/coinbase/agentkit](http://github.com/coinbase/agentkit)
- **Community & Support:** [https://discord.gg/CDP](https://discord.gg/CDP)
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
00c941c
Created base create-onchain-agent package
CarsonRoscoe Feb 18, 2025
91ee6d5
Added base templates/next template
CarsonRoscoe Feb 18, 2025
4c67161
Improved CLI handling of wallet provider
CarsonRoscoe Feb 18, 2025
a523915
Improve responsiveness of UI
CarsonRoscoe Feb 18, 2025
76c720d
Finished working out what a agent route looks like
CarsonRoscoe Feb 18, 2025
433e106
Implemented API routes for CDV, Viem, Privy and Solana routes
CarsonRoscoe Feb 18, 2025
1c62e6d
Refactored naming of route configuration and options
CarsonRoscoe Feb 18, 2025
72e59ae
Setup CLI for testing
CarsonRoscoe Feb 18, 2025
dd17fd1
Added branching to CLI for network -> wallet provider selection
CarsonRoscoe Feb 19, 2025
ab897c5
chore: handling defaults in CLI
CarsonRoscoe Feb 19, 2025
9743183
chore: refactored api routes to better reflect network/walletProvider…
CarsonRoscoe Feb 20, 2025
260897d
fix: changes after rebase
CarsonRoscoe Feb 20, 2025
2143171
chore: cleanup files better after refactor
CarsonRoscoe Feb 20, 2025
c089a46
feat: improve CLI display
CarsonRoscoe Feb 20, 2025
ccda182
fix: adressed feedback
CarsonRoscoe Feb 20, 2025
968a2cd
feat: improved the cli logged messages
CarsonRoscoe Feb 20, 2025
96f75fd
refactor: types and constants out of utils
CarsonRoscoe Feb 20, 2025
fbc3b8e
refactor: refactored constants and types out of utils
CarsonRoscoe Feb 20, 2025
97376d4
refactor: fileSystem out of cli
CarsonRoscoe Feb 20, 2025
7fb5350
feat: coinbase branding improvements
CarsonRoscoe Feb 20, 2025
5fc4fb2
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
90acd53
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
afad722
feat: parse markdown when displaying agent messages
CarsonRoscoe Feb 20, 2025
dc4d1be
chore: added comments to files where agents get created
CarsonRoscoe Feb 20, 2025
8a4871c
chore: refactored useAgent and commented
CarsonRoscoe Feb 20, 2025
5c80f9f
chore: added base project README
CarsonRoscoe Feb 20, 2025
67f3f2d
feat: added wallet provider descriptions to cli
CarsonRoscoe Feb 20, 2025
8ab6f7f
bump: 0.1.0
CarsonRoscoe Feb 20, 2025
7c5094f
fix: added files for npm
CarsonRoscoe Feb 20, 2025
406de3e
chore: improved readme
CarsonRoscoe Feb 20, 2025
f440741
chore: removed @coinbase from package.json
CarsonRoscoe Feb 20, 2025
949ac3e
chore: added basis for prettier and lint
CarsonRoscoe Feb 21, 2025
0439961
chore: cli readme feedback
CarsonRoscoe Feb 21, 2025
8ce2386
chore: template readme feedback
CarsonRoscoe Feb 21, 2025
400615b
chore: add coinbase to package description
CarsonRoscoe Feb 21, 2025
bec4a5f
chore: fixed prettier and ran
CarsonRoscoe Feb 21, 2025
8d9985f
chore: fixed lint and ran
CarsonRoscoe Feb 21, 2025
0992d2c
fix: package.lock
CarsonRoscoe Feb 21, 2025
eb46ffc
bump: 0.1.1
CarsonRoscoe Feb 22, 2025
3de135b
chore: typescript readme
CarsonRoscoe Feb 22, 2025
2781133
chore: fix constants lint error
CarsonRoscoe Feb 22, 2025
881ed43
feat: add dynamic message modifier and faucet to template
CarsonRoscoe Feb 22, 2025
530df5c
chore: comment regarding faucet
CarsonRoscoe Feb 22, 2025
1438ff5
chore: fixed package.lock
CarsonRoscoe Feb 22, 2025
d38c56b
fix: typo in readme
CarsonRoscoe Feb 22, 2025
5c5dda5
chore: updated readme to better reflect the outcome of create-onchain…
CarsonRoscoe Feb 22, 2025
f5c8ccb
bump: 0.1.2
CarsonRoscoe Feb 22, 2025
4df8e5d
feat: added wallet persistance for cdp
CarsonRoscoe Feb 22, 2025
d468114
chore: updated package-lock after bump
CarsonRoscoe Feb 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
501 changes: 472 additions & 29 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,7 @@
"private": true,
"workspaces": [
"typescript/agentkit",
"typescript/create-onchain-agent",
"typescript/framework-extensions/langchain",
"typescript/examples/langchain-cdp-chatbot",
"typescript/examples/langchain-twitter-chatbot",
Expand Down
5 changes: 5 additions & 0 deletions typescript/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,3 +16,8 @@ LangChain extension of AgentKit. Enables agentic workflows to interact with onch

See [AgentKit LangChain](./framework-extensions/langchain/README.md) to get started!

### `create-onchain-agent`

A quickstart CLI tool to scaffold out a fullstack chatbot application using Coinbase AgentKit. Runnable via `npm create onchain-agent@latest`.

See [Create Onchain Agent](./create-onchain-agent/README.md) to get started!
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.eslintrc.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"parser": "@typescript-eslint/parser",
"extends": ["../../.eslintrc.base.json"]
}
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.npmignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
# Source
src/**
./node_modules/
__tests__/**
7 changes: 7 additions & 0 deletions typescript/create-onchain-agent/.prettierignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
docs/
dist/
coverage/
.github/
src/client
**/**/*.json
*.md
11 changes: 11 additions & 0 deletions typescript/create-onchain-agent/.prettierrc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
{
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "avoid",
"printWidth": 100,
"proseWrap": "never"
}
73 changes: 73 additions & 0 deletions typescript/create-onchain-agent/README.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
# create-onchain-agent

## Overview

`create-onchain-agent` is a CLI tool powered by [AgentKit](https://github.com/coinbase/agentkit) that allows developers to quickly scaffold an **onchain agent** project. This tool simplifies the setup process by generating a project with predefined configurations, including blockchain network selection, wallet providers, and framework setup.

## Prerequisites

Before using `create-onchain-agent`, ensure you have the following installed:

- **Node.js** (v18 or later) – [Download here](https://nodejs.org/)
- **npm** (v9 or later) – Comes bundled with Node.js

## Usage

To use `create-onchain-agent`, simply run:

```sh
npm create onchain-agent@latest
```

This command will guide you through setting up an onchain agent project by prompting for necessary configuration options.

## Features

- **Guided setup**: Interactive prompts help configure the project.
- **Supports multiple blockchain networks**.
- **Select your preferred wallet provider**.
- **Preconfigured with Next.js, React, Tailwind CSS, and ESLint**.
- **Automates environment setup**.

### **Setup Process**
The CLI will prompt you for the following details:

1. **Project Name**: The name of your new onchain agent project.
2. **Package Name**: The npm package name (auto-formatted if needed).
3. **Network**: Choose from available blockchain networks.
4. **Chain ID**: Specify if using a custom network.
5. **Wallet Provider**: Select a preferred method for wallet management.

After answering the prompts, the CLI will:

- Generate the project structure.
- Copy necessary template files.
- Configure the selected settings.
- Display next steps to get started.

## Getting Started

Once your project is created, navigate into the directory and install dependencies:

```sh
cd my-project
npm install
```

Then, configure your environment variables:

```sh
mv .env.local .env
```

Run the development server:

```sh
npm run dev
```

## Documentation & Support

- **Docs:** [https://docs.cdp.coinbase.com/agentkit/docs/welcome](https://docs.cdp.coinbase.com/agentkit/docs/welcome)
- **GitHub Repo:** [http://github.com/coinbase/agentkit](http://github.com/coinbase/agentkit)
- **Community & Support:** [https://discord.gg/CDP](https://discord.gg/CDP)
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
00c941c
Created base create-onchain-agent package
CarsonRoscoe Feb 18, 2025
91ee6d5
Added base templates/next template
CarsonRoscoe Feb 18, 2025
4c67161
Improved CLI handling of wallet provider
CarsonRoscoe Feb 18, 2025
a523915
Improve responsiveness of UI
CarsonRoscoe Feb 18, 2025
76c720d
Finished working out what a agent route looks like
CarsonRoscoe Feb 18, 2025
433e106
Implemented API routes for CDV, Viem, Privy and Solana routes
CarsonRoscoe Feb 18, 2025
1c62e6d
Refactored naming of route configuration and options
CarsonRoscoe Feb 18, 2025
72e59ae
Setup CLI for testing
CarsonRoscoe Feb 18, 2025
dd17fd1
Added branching to CLI for network -> wallet provider selection
CarsonRoscoe Feb 19, 2025
ab897c5
chore: handling defaults in CLI
CarsonRoscoe Feb 19, 2025
9743183
chore: refactored api routes to better reflect network/walletProvider…
CarsonRoscoe Feb 20, 2025
260897d
fix: changes after rebase
CarsonRoscoe Feb 20, 2025
2143171
chore: cleanup files better after refactor
CarsonRoscoe Feb 20, 2025
c089a46
feat: improve CLI display
CarsonRoscoe Feb 20, 2025
ccda182
fix: adressed feedback
CarsonRoscoe Feb 20, 2025
968a2cd
feat: improved the cli logged messages
CarsonRoscoe Feb 20, 2025
96f75fd
refactor: types and constants out of utils
CarsonRoscoe Feb 20, 2025
fbc3b8e
refactor: refactored constants and types out of utils
CarsonRoscoe Feb 20, 2025
97376d4
refactor: fileSystem out of cli
CarsonRoscoe Feb 20, 2025
7fb5350
feat: coinbase branding improvements
CarsonRoscoe Feb 20, 2025
5fc4fb2
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
90acd53
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
afad722
feat: parse markdown when displaying agent messages
CarsonRoscoe Feb 20, 2025
dc4d1be
chore: added comments to files where agents get created
CarsonRoscoe Feb 20, 2025
8a4871c
chore: refactored useAgent and commented
CarsonRoscoe Feb 20, 2025
5c80f9f
chore: added base project README
CarsonRoscoe Feb 20, 2025
67f3f2d
feat: added wallet provider descriptions to cli
CarsonRoscoe Feb 20, 2025
8ab6f7f
bump: 0.1.0
CarsonRoscoe Feb 20, 2025
7c5094f
fix: added files for npm
CarsonRoscoe Feb 20, 2025
406de3e
chore: improved readme
CarsonRoscoe Feb 20, 2025
f440741
chore: removed @coinbase from package.json
CarsonRoscoe Feb 20, 2025
949ac3e
chore: added basis for prettier and lint
CarsonRoscoe Feb 21, 2025
0439961
chore: cli readme feedback
CarsonRoscoe Feb 21, 2025
8ce2386
chore: template readme feedback
CarsonRoscoe Feb 21, 2025
400615b
chore: add coinbase to package description
CarsonRoscoe Feb 21, 2025
bec4a5f
chore: fixed prettier and ran
CarsonRoscoe Feb 21, 2025
8d9985f
chore: fixed lint and ran
CarsonRoscoe Feb 21, 2025
0992d2c
fix: package.lock
CarsonRoscoe Feb 21, 2025
eb46ffc
bump: 0.1.1
CarsonRoscoe Feb 22, 2025
3de135b
chore: typescript readme
CarsonRoscoe Feb 22, 2025
2781133
chore: fix constants lint error
CarsonRoscoe Feb 22, 2025
881ed43
feat: add dynamic message modifier and faucet to template
CarsonRoscoe Feb 22, 2025
530df5c
chore: comment regarding faucet
CarsonRoscoe Feb 22, 2025
1438ff5
chore: fixed package.lock
CarsonRoscoe Feb 22, 2025
d38c56b
fix: typo in readme
CarsonRoscoe Feb 22, 2025
5c5dda5
chore: updated readme to better reflect the outcome of create-onchain…
CarsonRoscoe Feb 22, 2025
f5c8ccb
bump: 0.1.2
CarsonRoscoe Feb 22, 2025
4df8e5d
feat: added wallet persistance for cdp
CarsonRoscoe Feb 22, 2025
d468114
chore: updated package-lock after bump
CarsonRoscoe Feb 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
501 changes: 472 additions & 29 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,7 @@
"private": true,
"workspaces": [
"typescript/agentkit",
"typescript/create-onchain-agent",
"typescript/framework-extensions/langchain",
"typescript/examples/langchain-cdp-chatbot",
"typescript/examples/langchain-twitter-chatbot",
Expand Down
5 changes: 5 additions & 0 deletions typescript/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,3 +16,8 @@ LangChain extension of AgentKit. Enables agentic workflows to interact with onch

See [AgentKit LangChain](./framework-extensions/langchain/README.md) to get started!

### `create-onchain-agent`

A quickstart CLI tool to scaffold out a fullstack chatbot application using Coinbase AgentKit. Runnable via `npm create onchain-agent@latest`.

See [Create Onchain Agent](./create-onchain-agent/README.md) to get started!
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.eslintrc.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"parser": "@typescript-eslint/parser",
"extends": ["../../.eslintrc.base.json"]
}
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.npmignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
# Source
src/**
./node_modules/
__tests__/**
7 changes: 7 additions & 0 deletions typescript/create-onchain-agent/.prettierignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
docs/
dist/
coverage/
.github/
src/client
**/**/*.json
*.md
11 changes: 11 additions & 0 deletions typescript/create-onchain-agent/.prettierrc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
{
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "avoid",
"printWidth": 100,
"proseWrap": "never"
}
73 changes: 73 additions & 0 deletions typescript/create-onchain-agent/README.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
# create-onchain-agent

## Overview

`create-onchain-agent` is a CLI tool powered by [AgentKit](https://github.com/coinbase/agentkit) that allows developers to quickly scaffold an **onchain agent** project. This tool simplifies the setup process by generating a project with predefined configurations, including blockchain network selection, wallet providers, and framework setup.

## Prerequisites

Before using `create-onchain-agent`, ensure you have the following installed:

- **Node.js** (v18 or later) – [Download here](https://nodejs.org/)
- **npm** (v9 or later) – Comes bundled with Node.js

## Usage

To use `create-onchain-agent`, simply run:

```sh
npm create onchain-agent@latest
```

This command will guide you through setting up an onchain agent project by prompting for necessary configuration options.

## Features

- **Guided setup**: Interactive prompts help configure the project.
- **Supports multiple blockchain networks**.
- **Select your preferred wallet provider**.
- **Preconfigured with Next.js, React, Tailwind CSS, and ESLint**.
- **Automates environment setup**.

### **Setup Process**
The CLI will prompt you for the following details:

1. **Project Name**: The name of your new onchain agent project.
2. **Package Name**: The npm package name (auto-formatted if needed).
3. **Network**: Choose from available blockchain networks.
4. **Chain ID**: Specify if using a custom network.
5. **Wallet Provider**: Select a preferred method for wallet management.

After answering the prompts, the CLI will:

- Generate the project structure.
- Copy necessary template files.
- Configure the selected settings.
- Display next steps to get started.

## Getting Started

Once your project is created, navigate into the directory and install dependencies:

```sh
cd my-project
npm install
```

Then, configure your environment variables:

```sh
mv .env.local .env
```

Run the development server:

```sh
npm run dev
```

## Documentation & Support

- **Docs:** [https://docs.cdp.coinbase.com/agentkit/docs/welcome](https://docs.cdp.coinbase.com/agentkit/docs/welcome)
- **GitHub Repo:** [http://github.com/coinbase/agentkit](http://github.com/coinbase/agentkit)
- **Community & Support:** [https://discord.gg/CDP](https://discord.gg/CDP)
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
00c941c
Created base create-onchain-agent package
CarsonRoscoe Feb 18, 2025
91ee6d5
Added base templates/next template
CarsonRoscoe Feb 18, 2025
4c67161
Improved CLI handling of wallet provider
CarsonRoscoe Feb 18, 2025
a523915
Improve responsiveness of UI
CarsonRoscoe Feb 18, 2025
76c720d
Finished working out what a agent route looks like
CarsonRoscoe Feb 18, 2025
433e106
Implemented API routes for CDV, Viem, Privy and Solana routes
CarsonRoscoe Feb 18, 2025
1c62e6d
Refactored naming of route configuration and options
CarsonRoscoe Feb 18, 2025
72e59ae
Setup CLI for testing
CarsonRoscoe Feb 18, 2025
dd17fd1
Added branching to CLI for network -> wallet provider selection
CarsonRoscoe Feb 19, 2025
ab897c5
chore: handling defaults in CLI
CarsonRoscoe Feb 19, 2025
9743183
chore: refactored api routes to better reflect network/walletProvider…
CarsonRoscoe Feb 20, 2025
260897d
fix: changes after rebase
CarsonRoscoe Feb 20, 2025
2143171
chore: cleanup files better after refactor
CarsonRoscoe Feb 20, 2025
c089a46
feat: improve CLI display
CarsonRoscoe Feb 20, 2025
ccda182
fix: adressed feedback
CarsonRoscoe Feb 20, 2025
968a2cd
feat: improved the cli logged messages
CarsonRoscoe Feb 20, 2025
96f75fd
refactor: types and constants out of utils
CarsonRoscoe Feb 20, 2025
fbc3b8e
refactor: refactored constants and types out of utils
CarsonRoscoe Feb 20, 2025
97376d4
refactor: fileSystem out of cli
CarsonRoscoe Feb 20, 2025
7fb5350
feat: coinbase branding improvements
CarsonRoscoe Feb 20, 2025
5fc4fb2
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
90acd53
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
afad722
feat: parse markdown when displaying agent messages
CarsonRoscoe Feb 20, 2025
dc4d1be
chore: added comments to files where agents get created
CarsonRoscoe Feb 20, 2025
8a4871c
chore: refactored useAgent and commented
CarsonRoscoe Feb 20, 2025
5c80f9f
chore: added base project README
CarsonRoscoe Feb 20, 2025
67f3f2d
feat: added wallet provider descriptions to cli
CarsonRoscoe Feb 20, 2025
8ab6f7f
bump: 0.1.0
CarsonRoscoe Feb 20, 2025
7c5094f
fix: added files for npm
CarsonRoscoe Feb 20, 2025
406de3e
chore: improved readme
CarsonRoscoe Feb 20, 2025
f440741
chore: removed @coinbase from package.json
CarsonRoscoe Feb 20, 2025
949ac3e
chore: added basis for prettier and lint
CarsonRoscoe Feb 21, 2025
0439961
chore: cli readme feedback
CarsonRoscoe Feb 21, 2025
8ce2386
chore: template readme feedback
CarsonRoscoe Feb 21, 2025
400615b
chore: add coinbase to package description
CarsonRoscoe Feb 21, 2025
bec4a5f
chore: fixed prettier and ran
CarsonRoscoe Feb 21, 2025
8d9985f
chore: fixed lint and ran
CarsonRoscoe Feb 21, 2025
0992d2c
fix: package.lock
CarsonRoscoe Feb 21, 2025
eb46ffc
bump: 0.1.1
CarsonRoscoe Feb 22, 2025
3de135b
chore: typescript readme
CarsonRoscoe Feb 22, 2025
2781133
chore: fix constants lint error
CarsonRoscoe Feb 22, 2025
881ed43
feat: add dynamic message modifier and faucet to template
CarsonRoscoe Feb 22, 2025
530df5c
chore: comment regarding faucet
CarsonRoscoe Feb 22, 2025
1438ff5
chore: fixed package.lock
CarsonRoscoe Feb 22, 2025
d38c56b
fix: typo in readme
CarsonRoscoe Feb 22, 2025
5c5dda5
chore: updated readme to better reflect the outcome of create-onchain…
CarsonRoscoe Feb 22, 2025
f5c8ccb
bump: 0.1.2
CarsonRoscoe Feb 22, 2025
4df8e5d
feat: added wallet persistance for cdp
CarsonRoscoe Feb 22, 2025
d468114
chore: updated package-lock after bump
CarsonRoscoe Feb 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
501 changes: 472 additions & 29 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,7 @@
"private": true,
"workspaces": [
"typescript/agentkit",
"typescript/create-onchain-agent",
"typescript/framework-extensions/langchain",
"typescript/examples/langchain-cdp-chatbot",
"typescript/examples/langchain-twitter-chatbot",
Expand Down
5 changes: 5 additions & 0 deletions typescript/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,3 +16,8 @@ LangChain extension of AgentKit. Enables agentic workflows to interact with onch

See [AgentKit LangChain](./framework-extensions/langchain/README.md) to get started!

### `create-onchain-agent`

A quickstart CLI tool to scaffold out a fullstack chatbot application using Coinbase AgentKit. Runnable via `npm create onchain-agent@latest`.

See [Create Onchain Agent](./create-onchain-agent/README.md) to get started!
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.eslintrc.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"parser": "@typescript-eslint/parser",
"extends": ["../../.eslintrc.base.json"]
}
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.npmignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
# Source
src/**
./node_modules/
__tests__/**
7 changes: 7 additions & 0 deletions typescript/create-onchain-agent/.prettierignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
docs/
dist/
coverage/
.github/
src/client
**/**/*.json
*.md
11 changes: 11 additions & 0 deletions typescript/create-onchain-agent/.prettierrc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
{
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "avoid",
"printWidth": 100,
"proseWrap": "never"
}
73 changes: 73 additions & 0 deletions typescript/create-onchain-agent/README.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
# create-onchain-agent

## Overview

`create-onchain-agent` is a CLI tool powered by [AgentKit](https://github.com/coinbase/agentkit) that allows developers to quickly scaffold an **onchain agent** project. This tool simplifies the setup process by generating a project with predefined configurations, including blockchain network selection, wallet providers, and framework setup.

## Prerequisites

Before using `create-onchain-agent`, ensure you have the following installed:

- **Node.js** (v18 or later) – [Download here](https://nodejs.org/)
- **npm** (v9 or later) – Comes bundled with Node.js

## Usage

To use `create-onchain-agent`, simply run:

```sh
npm create onchain-agent@latest
```

This command will guide you through setting up an onchain agent project by prompting for necessary configuration options.

## Features

- **Guided setup**: Interactive prompts help configure the project.
- **Supports multiple blockchain networks**.
- **Select your preferred wallet provider**.
- **Preconfigured with Next.js, React, Tailwind CSS, and ESLint**.
- **Automates environment setup**.

### **Setup Process**
The CLI will prompt you for the following details:

1. **Project Name**: The name of your new onchain agent project.
2. **Package Name**: The npm package name (auto-formatted if needed).
3. **Network**: Choose from available blockchain networks.
4. **Chain ID**: Specify if using a custom network.
5. **Wallet Provider**: Select a preferred method for wallet management.

After answering the prompts, the CLI will:

- Generate the project structure.
- Copy necessary template files.
- Configure the selected settings.
- Display next steps to get started.

## Getting Started

Once your project is created, navigate into the directory and install dependencies:

```sh
cd my-project
npm install
```

Then, configure your environment variables:

```sh
mv .env.local .env
```

Run the development server:

```sh
npm run dev
```

## Documentation & Support

- **Docs:** [https://docs.cdp.coinbase.com/agentkit/docs/welcome](https://docs.cdp.coinbase.com/agentkit/docs/welcome)
- **GitHub Repo:** [http://github.com/coinbase/agentkit](http://github.com/coinbase/agentkit)
- **Community & Support:** [https://discord.gg/CDP](https://discord.gg/CDP)
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
00c941c
Created base create-onchain-agent package
CarsonRoscoe Feb 18, 2025
91ee6d5
Added base templates/next template
CarsonRoscoe Feb 18, 2025
4c67161
Improved CLI handling of wallet provider
CarsonRoscoe Feb 18, 2025
a523915
Improve responsiveness of UI
CarsonRoscoe Feb 18, 2025
76c720d
Finished working out what a agent route looks like
CarsonRoscoe Feb 18, 2025
433e106
Implemented API routes for CDV, Viem, Privy and Solana routes
CarsonRoscoe Feb 18, 2025
1c62e6d
Refactored naming of route configuration and options
CarsonRoscoe Feb 18, 2025
72e59ae
Setup CLI for testing
CarsonRoscoe Feb 18, 2025
dd17fd1
Added branching to CLI for network -> wallet provider selection
CarsonRoscoe Feb 19, 2025
ab897c5
chore: handling defaults in CLI
CarsonRoscoe Feb 19, 2025
9743183
chore: refactored api routes to better reflect network/walletProvider…
CarsonRoscoe Feb 20, 2025
260897d
fix: changes after rebase
CarsonRoscoe Feb 20, 2025
2143171
chore: cleanup files better after refactor
CarsonRoscoe Feb 20, 2025
c089a46
feat: improve CLI display
CarsonRoscoe Feb 20, 2025
ccda182
fix: adressed feedback
CarsonRoscoe Feb 20, 2025
968a2cd
feat: improved the cli logged messages
CarsonRoscoe Feb 20, 2025
96f75fd
refactor: types and constants out of utils
CarsonRoscoe Feb 20, 2025
fbc3b8e
refactor: refactored constants and types out of utils
CarsonRoscoe Feb 20, 2025
97376d4
refactor: fileSystem out of cli
CarsonRoscoe Feb 20, 2025
7fb5350
feat: coinbase branding improvements
CarsonRoscoe Feb 20, 2025
5fc4fb2
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
90acd53
feat: improved .env.local created format
CarsonRoscoe Feb 20, 2025
afad722
feat: parse markdown when displaying agent messages
CarsonRoscoe Feb 20, 2025
dc4d1be
chore: added comments to files where agents get created
CarsonRoscoe Feb 20, 2025
8a4871c
chore: refactored useAgent and commented
CarsonRoscoe Feb 20, 2025
5c80f9f
chore: added base project README
CarsonRoscoe Feb 20, 2025
67f3f2d
feat: added wallet provider descriptions to cli
CarsonRoscoe Feb 20, 2025
8ab6f7f
bump: 0.1.0
CarsonRoscoe Feb 20, 2025
7c5094f
fix: added files for npm
CarsonRoscoe Feb 20, 2025
406de3e
chore: improved readme
CarsonRoscoe Feb 20, 2025
f440741
chore: removed @coinbase from package.json
CarsonRoscoe Feb 20, 2025
949ac3e
chore: added basis for prettier and lint
CarsonRoscoe Feb 21, 2025
0439961
chore: cli readme feedback
CarsonRoscoe Feb 21, 2025
8ce2386
chore: template readme feedback
CarsonRoscoe Feb 21, 2025
400615b
chore: add coinbase to package description
CarsonRoscoe Feb 21, 2025
bec4a5f
chore: fixed prettier and ran
CarsonRoscoe Feb 21, 2025
8d9985f
chore: fixed lint and ran
CarsonRoscoe Feb 21, 2025
0992d2c
fix: package.lock
CarsonRoscoe Feb 21, 2025
eb46ffc
bump: 0.1.1
CarsonRoscoe Feb 22, 2025
3de135b
chore: typescript readme
CarsonRoscoe Feb 22, 2025
2781133
chore: fix constants lint error
CarsonRoscoe Feb 22, 2025
881ed43
feat: add dynamic message modifier and faucet to template
CarsonRoscoe Feb 22, 2025
530df5c
chore: comment regarding faucet
CarsonRoscoe Feb 22, 2025
1438ff5
chore: fixed package.lock
CarsonRoscoe Feb 22, 2025
d38c56b
fix: typo in readme
CarsonRoscoe Feb 22, 2025
5c5dda5
chore: updated readme to better reflect the outcome of create-onchain…
CarsonRoscoe Feb 22, 2025
f5c8ccb
bump: 0.1.2
CarsonRoscoe Feb 22, 2025
4df8e5d
feat: added wallet persistance for cdp
CarsonRoscoe Feb 22, 2025
d468114
chore: updated package-lock after bump
CarsonRoscoe Feb 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
501 changes: 472 additions & 29 deletions package-lock.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,6 +3,7 @@
"private": true,
"workspaces": [
"typescript/agentkit",
"typescript/create-onchain-agent",
"typescript/framework-extensions/langchain",
"typescript/examples/langchain-cdp-chatbot",
"typescript/examples/langchain-twitter-chatbot",
Expand Down
5 changes: 5 additions & 0 deletions typescript/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,3 +16,8 @@ LangChain extension of AgentKit. Enables agentic workflows to interact with onch

See [AgentKit LangChain](./framework-extensions/langchain/README.md) to get started!

### `create-onchain-agent`

A quickstart CLI tool to scaffold out a fullstack chatbot application using Coinbase AgentKit. Runnable via `npm create onchain-agent@latest`.

See [Create Onchain Agent](./create-onchain-agent/README.md) to get started!
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.eslintrc.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"parser": "@typescript-eslint/parser",
"extends": ["../../.eslintrc.base.json"]
}
4 changes: 4 additions & 0 deletions typescript/create-onchain-agent/.npmignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
# Source
src/**
./node_modules/
__tests__/**
7 changes: 7 additions & 0 deletions typescript/create-onchain-agent/.prettierignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
docs/
dist/
coverage/
.github/
src/client
**/**/*.json
*.md
11 changes: 11 additions & 0 deletions typescript/create-onchain-agent/.prettierrc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
{
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "avoid",
"printWidth": 100,
"proseWrap": "never"
}
73 changes: 73 additions & 0 deletions typescript/create-onchain-agent/README.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
# create-onchain-agent

## Overview

`create-onchain-agent` is a CLI tool powered by [AgentKit](https://github.com/coinbase/agentkit) that allows developers to quickly scaffold an **onchain agent** project. This tool simplifies the setup process by generating a project with predefined configurations, including blockchain network selection, wallet providers, and framework setup.

## Prerequisites

Before using `create-onchain-agent`, ensure you have the following installed:

- **Node.js** (v18 or later) – [Download here](https://nodejs.org/)
- **npm** (v9 or later) – Comes bundled with Node.js

## Usage

To use `create-onchain-agent`, simply run:

```sh
npm create onchain-agent@latest
```

This command will guide you through setting up an onchain agent project by prompting for necessary configuration options.

## Features

- **Guided setup**: Interactive prompts help configure the project.
- **Supports multiple blockchain networks**.
- **Select your preferred wallet provider**.
- **Preconfigured with Next.js, React, Tailwind CSS, and ESLint**.
- **Automates environment setup**.

### **Setup Process**
The CLI will prompt you for the following details:

1. **Project Name**: The name of your new onchain agent project.
2. **Package Name**: The npm package name (auto-formatted if needed).
3. **Network**: Choose from available blockchain networks.
4. **Chain ID**: Specify if using a custom network.
5. **Wallet Provider**: Select a preferred method for wallet management.

After answering the prompts, the CLI will:

- Generate the project structure.
- Copy necessary template files.
- Configure the selected settings.
- Display next steps to get started.

## Getting Started

Once your project is created, navigate into the directory and install dependencies:

```sh
cd my-project
npm install
```

Then, configure your environment variables:

```sh
mv .env.local .env
```

Run the development server:

```sh
npm run dev
```

## Documentation & Support

- **Docs:** [https://docs.cdp.coinbase.com/agentkit/docs/welcome](https://docs.cdp.coinbase.com/agentkit/docs/welcome)
- **GitHub Repo:** [http://github.com/coinbase/agentkit](http://github.com/coinbase/agentkit)
- **Community & Support:** [https://discord.gg/CDP](https://discord.gg/CDP)
Loading