dacty-create 1.0.2 → 1.0.4
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 +49 -45
- package/bin/dacty-create.mjs +11 -20
- package/lib/index.mjs +11 -20
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# dacty-create
|
|
2
2
|
|
|
3
|
-
Create
|
|
3
|
+
Create autonomous agents with secure private key generation in one command.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
npx dacty-create
|
|
@@ -9,22 +9,25 @@ npx dacty-create
|
|
|
9
9
|
## Features
|
|
10
10
|
|
|
11
11
|
- ✨ **Interactive CLI** - Simple prompts to configure your agent
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
- 📦 **Complete Setup** -
|
|
16
|
-
- 🚀 **Ready to
|
|
12
|
+
- 🔐 **Secure Key Generation** - Private key stored in .env (never shared)
|
|
13
|
+
- 🤖 **Agent DNA** - Unique identifier for your agent
|
|
14
|
+
- 💰 **Wallet Ready** - Generated wallet for transactions
|
|
15
|
+
- 📦 **Complete Setup** - Project structure with all necessary files
|
|
16
|
+
- 🚀 **Ready to Launch** - Use with `npx dacty-launch` to deploy token
|
|
17
17
|
|
|
18
18
|
## Installation
|
|
19
19
|
|
|
20
|
+
Use directly with npx (recommended):
|
|
21
|
+
|
|
20
22
|
```bash
|
|
21
|
-
|
|
23
|
+
npx dacty-create
|
|
22
24
|
```
|
|
23
25
|
|
|
24
|
-
Or
|
|
26
|
+
Or install globally:
|
|
25
27
|
|
|
26
28
|
```bash
|
|
27
|
-
|
|
29
|
+
npm install -g dacty-create
|
|
30
|
+
dacty-create
|
|
28
31
|
```
|
|
29
32
|
|
|
30
33
|
## Usage
|
|
@@ -32,25 +35,23 @@ npx dacty-create
|
|
|
32
35
|
Run the interactive CLI:
|
|
33
36
|
|
|
34
37
|
```bash
|
|
35
|
-
dacty-create
|
|
38
|
+
npx dacty-create
|
|
36
39
|
```
|
|
37
40
|
|
|
38
41
|
The CLI will prompt you for:
|
|
39
42
|
|
|
40
43
|
1. **Agent Name** - The name of your agent
|
|
41
|
-
2. **Agent
|
|
42
|
-
3. **Agent Type** - Monitor, Trading, Utility, or Custom
|
|
43
|
-
4. **GitHub Username** - For repository setup
|
|
44
|
-
5. **Create GitHub Repository** - Whether to auto-create the repo
|
|
44
|
+
2. **Agent Type** - Type of agent (monitoring, trading, utility, custom)
|
|
45
45
|
|
|
46
46
|
## What Gets Created
|
|
47
47
|
|
|
48
|
-
After running `dacty-create`, you'll get
|
|
48
|
+
After running `dacty-create`, you'll get:
|
|
49
49
|
|
|
50
50
|
```
|
|
51
51
|
my-agent/
|
|
52
|
-
├── agent.config.json # Agent configuration
|
|
53
|
-
├── .env #
|
|
52
|
+
├── agent.config.json # Agent configuration (wallet address, DNA)
|
|
53
|
+
├── .env # Private key (NEVER commit this!)
|
|
54
|
+
├── .env.example # Template for .env
|
|
54
55
|
├── package.json # Node.js dependencies
|
|
55
56
|
├── README.md # Project documentation
|
|
56
57
|
├── .gitignore # Git ignore rules
|
|
@@ -64,47 +65,50 @@ my-agent/
|
|
|
64
65
|
|
|
65
66
|
Each agent gets:
|
|
66
67
|
|
|
67
|
-
- **Unique DNA** -
|
|
68
|
-
- **Wallet Address** -
|
|
69
|
-
- **
|
|
70
|
-
- **
|
|
68
|
+
- **Unique DNA** - Unique identifier (e.g., `abc123def456`)
|
|
69
|
+
- **Wallet Address** - Public wallet address for receiving fees
|
|
70
|
+
- **Private Key** - Stored in .env for signing transactions
|
|
71
|
+
- **Network** - Base network (primary)
|
|
71
72
|
|
|
72
|
-
##
|
|
73
|
+
## Security
|
|
73
74
|
|
|
74
|
-
|
|
75
|
+
- **Private keys** are stored locally in `.env` file
|
|
76
|
+
- `.env` is automatically added to `.gitignore`
|
|
77
|
+
- Never commit `.env` to version control
|
|
78
|
+
- Keep `.env` file safe and backed up
|
|
75
79
|
|
|
76
|
-
|
|
77
|
-
cd my-agent
|
|
78
|
-
npm install
|
|
79
|
-
npm run dev
|
|
80
|
-
```
|
|
80
|
+
## Next Steps
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
To deploy your agent:
|
|
82
|
+
After creating an agent, launch your token:
|
|
85
83
|
|
|
86
84
|
```bash
|
|
87
|
-
|
|
85
|
+
npx dacty-launch
|
|
88
86
|
```
|
|
89
87
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
-
|
|
95
|
-
- **20%** goes to Dactyclaw (platform maintenance and development)
|
|
88
|
+
This will:
|
|
89
|
+
- Use your agent's private key to sign transactions
|
|
90
|
+
- Deploy token to Base network via Clanker
|
|
91
|
+
- Setup 80/20 fee distribution
|
|
92
|
+
- Make token immediately tradeable
|
|
96
93
|
|
|
97
94
|
## Environment Variables
|
|
98
95
|
|
|
99
|
-
Generated agents include
|
|
96
|
+
Generated agents include:
|
|
100
97
|
|
|
101
98
|
- `AGENT_NAME` - Your agent's name
|
|
102
99
|
- `AGENT_DNA` - Unique agent identifier
|
|
103
|
-
- `AGENT_WALLET` - Agent's wallet address
|
|
104
|
-
- `
|
|
100
|
+
- `AGENT_WALLET` - Agent's public wallet address
|
|
101
|
+
- `PRIVATE_KEY` - Agent's private key (in .env only)
|
|
105
102
|
- `NETWORK` - Blockchain network (base)
|
|
106
|
-
|
|
107
|
-
|
|
103
|
+
|
|
104
|
+
## Fee Distribution
|
|
105
|
+
|
|
106
|
+
All agents follow standard fee distribution:
|
|
107
|
+
|
|
108
|
+
- **80%** → Your Agent Wallet
|
|
109
|
+
- **20%** → Dactyclaw Protocol
|
|
110
|
+
|
|
111
|
+
Fees are automatically distributed from every trade.
|
|
108
112
|
|
|
109
113
|
## Network Support
|
|
110
114
|
|
|
@@ -118,10 +122,10 @@ MIT
|
|
|
118
122
|
|
|
119
123
|
## Support
|
|
120
124
|
|
|
121
|
-
For issues and questions
|
|
125
|
+
For issues and questions:
|
|
122
126
|
- [Dactyclaw GitHub](https://github.com/dactyclaw/dactyclaw)
|
|
123
127
|
- [Dactyclaw Documentation](https://dactyclaw.dev)
|
|
124
128
|
|
|
125
129
|
## Contributing
|
|
126
130
|
|
|
127
|
-
Contributions
|
|
131
|
+
Contributions welcome! Please submit a Pull Request.
|
package/bin/dacty-create.mjs
CHANGED
|
@@ -36,7 +36,7 @@ async function createAgent() {
|
|
|
36
36
|
console.log(chalk.cyan.bold('╚════════════════════════════════════════╝'));
|
|
37
37
|
console.log('\n');
|
|
38
38
|
|
|
39
|
-
// Prompt user for agent details
|
|
39
|
+
// Prompt user for agent details (simplified - no type selection)
|
|
40
40
|
const answers = await inquirer.prompt([
|
|
41
41
|
{
|
|
42
42
|
type: 'input',
|
|
@@ -48,20 +48,9 @@ async function createAgent() {
|
|
|
48
48
|
{
|
|
49
49
|
type: 'input',
|
|
50
50
|
name: 'description',
|
|
51
|
-
message: 'Agent Description:',
|
|
51
|
+
message: 'Agent Description (optional):',
|
|
52
52
|
default: 'An autonomous agent in the Dactyclaw ecosystem'
|
|
53
53
|
},
|
|
54
|
-
{
|
|
55
|
-
type: 'list',
|
|
56
|
-
name: 'agentType',
|
|
57
|
-
message: 'Agent Type:',
|
|
58
|
-
choices: [
|
|
59
|
-
{ name: 'Monitor Agent (tracks blockchain activity)', value: 'monitor' },
|
|
60
|
-
{ name: 'Trading Agent (executes trades)', value: 'trading' },
|
|
61
|
-
{ name: 'Utility Agent (general purpose)', value: 'utility' },
|
|
62
|
-
{ name: 'Custom Agent', value: 'custom' }
|
|
63
|
-
]
|
|
64
|
-
},
|
|
65
54
|
{
|
|
66
55
|
type: 'input',
|
|
67
56
|
name: 'githubUsername',
|
|
@@ -69,6 +58,9 @@ async function createAgent() {
|
|
|
69
58
|
default: ''
|
|
70
59
|
}
|
|
71
60
|
]);
|
|
61
|
+
|
|
62
|
+
// Set default agent type to 'utility' (can be used for anything)
|
|
63
|
+
answers.agentType = 'utility';
|
|
72
64
|
|
|
73
65
|
const spinner = ora();
|
|
74
66
|
|
|
@@ -362,7 +354,7 @@ package-lock.json
|
|
|
362
354
|
console.log(chalk.white(` Name: ${agentConfig.name}`));
|
|
363
355
|
console.log(chalk.white(` DNA: ${agentConfig.dna}`));
|
|
364
356
|
console.log(chalk.white(` Wallet Address: ${wallet.address}`));
|
|
365
|
-
console.log(chalk.white(` Type:
|
|
357
|
+
console.log(chalk.white(` Type: Utility Agent (flexible for any use)`));
|
|
366
358
|
console.log(chalk.white(` Network: ${agentConfig.network}`));
|
|
367
359
|
console.log(chalk.white(` Directory: ${agentDir}`));
|
|
368
360
|
console.log(chalk.gray('─'.repeat(60)));
|
|
@@ -370,18 +362,17 @@ package-lock.json
|
|
|
370
362
|
|
|
371
363
|
console.log(chalk.cyan('Security Notice:'));
|
|
372
364
|
console.log(chalk.gray('─'.repeat(60)));
|
|
373
|
-
console.log(chalk.
|
|
374
|
-
console.log(chalk.
|
|
375
|
-
console.log(chalk.yellow(` ⚠️ Keep your private key safe and secure`));
|
|
365
|
+
console.log(chalk.white(` ✓ Private key stored in .env (gitignored)`));
|
|
366
|
+
console.log(chalk.white(` ✓ Ready to launch token with npx dacty-launch`));
|
|
376
367
|
console.log(chalk.gray('─'.repeat(60)));
|
|
377
368
|
console.log('\n');
|
|
378
369
|
|
|
379
370
|
console.log(chalk.cyan('Next Steps:'));
|
|
380
371
|
console.log(chalk.gray('─'.repeat(60)));
|
|
381
372
|
console.log(chalk.white(` 1. cd ${path.basename(agentDir)}`));
|
|
382
|
-
console.log(chalk.white(` 2.
|
|
383
|
-
console.log(chalk.white(` 3.
|
|
384
|
-
console.log(chalk.white(` 4.
|
|
373
|
+
console.log(chalk.white(` 2. npx dacty-launch (to deploy token)`));
|
|
374
|
+
console.log(chalk.white(` 3. Monitor on Clanker.world`));
|
|
375
|
+
console.log(chalk.white(` 4. Earn 80% of trading fees`));
|
|
385
376
|
console.log(chalk.gray('─'.repeat(60)));
|
|
386
377
|
console.log('\n');
|
|
387
378
|
|
package/lib/index.mjs
CHANGED
|
@@ -36,7 +36,7 @@ async function createAgent() {
|
|
|
36
36
|
console.log(chalk.cyan.bold('╚════════════════════════════════════════╝'));
|
|
37
37
|
console.log('\n');
|
|
38
38
|
|
|
39
|
-
// Prompt user for agent details
|
|
39
|
+
// Prompt user for agent details (simplified - no type selection)
|
|
40
40
|
const answers = await inquirer.prompt([
|
|
41
41
|
{
|
|
42
42
|
type: 'input',
|
|
@@ -48,20 +48,9 @@ async function createAgent() {
|
|
|
48
48
|
{
|
|
49
49
|
type: 'input',
|
|
50
50
|
name: 'description',
|
|
51
|
-
message: 'Agent Description:',
|
|
51
|
+
message: 'Agent Description (optional):',
|
|
52
52
|
default: 'An autonomous agent in the Dactyclaw ecosystem'
|
|
53
53
|
},
|
|
54
|
-
{
|
|
55
|
-
type: 'list',
|
|
56
|
-
name: 'agentType',
|
|
57
|
-
message: 'Agent Type:',
|
|
58
|
-
choices: [
|
|
59
|
-
{ name: 'Monitor Agent (tracks blockchain activity)', value: 'monitor' },
|
|
60
|
-
{ name: 'Trading Agent (executes trades)', value: 'trading' },
|
|
61
|
-
{ name: 'Utility Agent (general purpose)', value: 'utility' },
|
|
62
|
-
{ name: 'Custom Agent', value: 'custom' }
|
|
63
|
-
]
|
|
64
|
-
},
|
|
65
54
|
{
|
|
66
55
|
type: 'input',
|
|
67
56
|
name: 'githubUsername',
|
|
@@ -69,6 +58,9 @@ async function createAgent() {
|
|
|
69
58
|
default: ''
|
|
70
59
|
}
|
|
71
60
|
]);
|
|
61
|
+
|
|
62
|
+
// Set default agent type to 'utility' (can be used for anything)
|
|
63
|
+
answers.agentType = 'utility';
|
|
72
64
|
|
|
73
65
|
const spinner = ora();
|
|
74
66
|
|
|
@@ -362,7 +354,7 @@ package-lock.json
|
|
|
362
354
|
console.log(chalk.white(` Name: ${agentConfig.name}`));
|
|
363
355
|
console.log(chalk.white(` DNA: ${agentConfig.dna}`));
|
|
364
356
|
console.log(chalk.white(` Wallet Address: ${wallet.address}`));
|
|
365
|
-
console.log(chalk.white(` Type:
|
|
357
|
+
console.log(chalk.white(` Type: Utility Agent (flexible for any use)`));
|
|
366
358
|
console.log(chalk.white(` Network: ${agentConfig.network}`));
|
|
367
359
|
console.log(chalk.white(` Directory: ${agentDir}`));
|
|
368
360
|
console.log(chalk.gray('─'.repeat(60)));
|
|
@@ -370,18 +362,17 @@ package-lock.json
|
|
|
370
362
|
|
|
371
363
|
console.log(chalk.cyan('Security Notice:'));
|
|
372
364
|
console.log(chalk.gray('─'.repeat(60)));
|
|
373
|
-
console.log(chalk.
|
|
374
|
-
console.log(chalk.
|
|
375
|
-
console.log(chalk.yellow(` ⚠️ Keep your private key safe and secure`));
|
|
365
|
+
console.log(chalk.white(` ✓ Private key stored in .env (gitignored)`));
|
|
366
|
+
console.log(chalk.white(` ✓ Ready to launch token with npx dacty-launch`));
|
|
376
367
|
console.log(chalk.gray('─'.repeat(60)));
|
|
377
368
|
console.log('\n');
|
|
378
369
|
|
|
379
370
|
console.log(chalk.cyan('Next Steps:'));
|
|
380
371
|
console.log(chalk.gray('─'.repeat(60)));
|
|
381
372
|
console.log(chalk.white(` 1. cd ${path.basename(agentDir)}`));
|
|
382
|
-
console.log(chalk.white(` 2.
|
|
383
|
-
console.log(chalk.white(` 3.
|
|
384
|
-
console.log(chalk.white(` 4.
|
|
373
|
+
console.log(chalk.white(` 2. npx dacty-launch (to deploy token)`));
|
|
374
|
+
console.log(chalk.white(` 3. Monitor on Clanker.world`));
|
|
375
|
+
console.log(chalk.white(` 4. Earn 80% of trading fees`));
|
|
385
376
|
console.log(chalk.gray('─'.repeat(60)));
|
|
386
377
|
console.log('\n');
|
|
387
378
|
|