agdi 2.11.11 → 2.11.12
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 +108 -154
- package/bin/agdi.js +7 -7
- package/dist/{chunk-UN5WZ5PG.js → chunk-M2FF7ETI.js} +5 -9
- package/dist/{chunk-OPFFFAQC.js → chunk-S45VXJEO.js} +1 -19
- package/dist/{config-LBIRRMSE.js → config-ZFU7TSU2.js} +2 -3
- package/dist/index.js +3541 -163
- package/dist/{telemetry-service-D4P7B4B4.js → telemetry-service-UJCRKN3D.js} +6 -8
- package/package.json +78 -45
- package/dist/agdi-dev-FEGTMGO2.js +0 -3330
- package/dist/auth-P6MQA3ZW.js +0 -155
- package/dist/chat-NNTZRU5F.js +0 -275
- package/dist/chunk-3E3CQLD2.js +0 -314
- package/dist/chunk-BVR4UG4C.js +0 -355
- package/dist/chunk-DFU7EGNP.js +0 -398
- package/dist/chunk-EAQYK3U2.js +0 -41
- package/dist/chunk-ESXYGZEO.js +0 -81
- package/dist/chunk-NP7LCL7Q.js +0 -341
- package/dist/chunk-OXDKL57B.js +0 -9748
- package/dist/chunk-QOC2VX23.js +0 -181
- package/dist/chunk-SQLXP7LT.js +0 -4792
- package/dist/chunk-VUSDFOCN.js +0 -289
- package/dist/config-U2UXLNRN.js +0 -13
- package/dist/core-P36Q6DOZ.js +0 -34
- package/dist/dist-4NXQ5YFU.js +0 -1244
- package/dist/doctor-SYT575FZ.js +0 -163
- package/dist/import-5AFTGDG7.js +0 -128
- package/dist/lib-CAJYQA32.js +0 -5
- package/dist/llm-failover-MRW7I5JX.js +0 -9
- package/dist/multipart-parser-DV373IRF.js +0 -371
- package/dist/node-N4X4IEWV.js +0 -31333
- package/dist/onboarding-3IJWFWEN.js +0 -20
- package/dist/rag-Z66L77H2.js +0 -17
- package/dist/run-NR2ZAGAG.js +0 -82
- package/dist/squad-EJ7C6UCQ.js +0 -1438
- package/dist/src-T5RRS2HN.js +0 -1408
- package/dist/utils-XOFUIMNR.js +0 -15
package/README.md
CHANGED
|
@@ -1,154 +1,108 @@
|
|
|
1
|
-
# Agdi CLI
|
|
2
|
-
|
|
3
|
-
<div align="center">
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
###
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
[
|
|
147
|
-
- 📦 **npm**: [npmjs.com/package/agdi](https://www.npmjs.com/package/agdi)
|
|
148
|
-
- 💻 **GitHub**: [github.com/anassagd432/Agdi-dev](https://github.com/anassagd432/Agdi-dev)
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## 📄 License
|
|
153
|
-
|
|
154
|
-
MIT © 2024-2026 Agdi
|
|
1
|
+
# Agdi CLI
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
<img src="https://agdi-dev.vercel.app/logo.svg" alt="Agdi Logo" width="120" height="120">
|
|
5
|
+
|
|
6
|
+
### 🦸 The Autonomous AI Employee
|
|
7
|
+
### Build, Test, and Deploy Full-Stack Apps from a Single Prompt
|
|
8
|
+
|
|
9
|
+
[](https://www.npmjs.com/package/agdi)
|
|
10
|
+
[](https://www.npmjs.com/package/agdi)
|
|
11
|
+
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 🎬 What is Agdi?
|
|
17
|
+
|
|
18
|
+
> **"I want a pizza shop website with a red theme."**
|
|
19
|
+
>
|
|
20
|
+
> *... 2 minutes later ...*
|
|
21
|
+
>
|
|
22
|
+
> **"Here is your live URL: `pizza-shop.vercel.app`. It has a menu, contact form, and mobile design."**
|
|
23
|
+
|
|
24
|
+
Agdi is not just a coding assistant. It is an **Autonomous AI Squad**. You give the vision; Agdi hires the agents (Manager, Frontend, Backend, QA) to build, fix, and deploy it for you.
|
|
25
|
+
|
|
26
|
+
**No monthly fees.** **No agency markups.** You just bring your own API key (Gemini Free Tier works!).
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 🚀 Quick Start
|
|
31
|
+
|
|
32
|
+
### 1. Install
|
|
33
|
+
```bash
|
|
34
|
+
npm install -g agdi
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 2. Run
|
|
38
|
+
```bash
|
|
39
|
+
agdi
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
That's it. The **Interactive Wizard** will guide you:
|
|
43
|
+
1. **🛡️ Safety Check:** Ensures you don't messy up your home folder.
|
|
44
|
+
2. **🔑 Auth:** Helps you connect Gemini (Free), OpenAI, or Anthropic.
|
|
45
|
+
3. **🧠 The Brain:** Takes your prompt and wakes up the squad.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 🔄 How It Works
|
|
50
|
+
|
|
51
|
+
Agdi runs a self-healing loop. If the code breaks, the **QA Agent** rejects it, and the **Coder** fixes it instantly. You don't see the errors; you just see the result.
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
👤 Your Prompt ("Make a pizza site")
|
|
55
|
+
│
|
|
56
|
+
▼
|
|
57
|
+
🧠 Manager Agent ────► 📋 Project Spec
|
|
58
|
+
│
|
|
59
|
+
├───► 🎨 Frontend (React/Tailwind)
|
|
60
|
+
│ │
|
|
61
|
+
└───► ⚙️ Backend (API/DB)
|
|
62
|
+
│
|
|
63
|
+
┌─────────▼─────────┐
|
|
64
|
+
│ 🕵️ QA Agent │◄──┐
|
|
65
|
+
└─────────┬─────────┘ │
|
|
66
|
+
│ │
|
|
67
|
+
Build Pass? │
|
|
68
|
+
│ │ │
|
|
69
|
+
No ─▼─ │ │
|
|
70
|
+
│ │ │
|
|
71
|
+
🔧 Auto-Fix ────┘ │
|
|
72
|
+
│
|
|
73
|
+
Yes ──► 🚀 DevOps ──────┘
|
|
74
|
+
│
|
|
75
|
+
▼
|
|
76
|
+
🌐 Live URL
|
|
77
|
+
(pizza-shop.vercel.app)
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 🦸 The Squad
|
|
83
|
+
|
|
84
|
+
Your new employees work 24/7 for free.
|
|
85
|
+
|
|
86
|
+
| Agent | Role | Responsibility |
|
|
87
|
+
|-------|------|----------------|
|
|
88
|
+
| 🧠 **Manager** | **Project Lead** | Breaks your prompt into technical specs and assigns tasks. |
|
|
89
|
+
| 🎨 **Frontend** | **UI/UX Expert** | Builds React/Next.js interfaces with Tailwind CSS and Shadcn. |
|
|
90
|
+
| ⚙ **Backend** | **Systems Architect** | Sets up APIs, Databases (Prisma/SQLite), and logic. |
|
|
91
|
+
| 🕵️ **QA** | **Bug Hunter** | Runs builds and tests. If it fails, they force the coders to fix it. |
|
|
92
|
+
| 🚀 **DevOps** | **Release Engineer** | Configures environment variables and deploys to the cloud. |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## ✨ Features
|
|
97
|
+
|
|
98
|
+
- **🧙 Zero-Config Wizard:** Interactive setup for keys, search, and deployment.
|
|
99
|
+
- **🌐 Live Web Search:** (Optional) Give Agdi web access to read the latest docs.
|
|
100
|
+
- **🛡️ Safety Sandbox:** Prevents accidental file overwrites in sensitive directories.
|
|
101
|
+
- **🔁 Auto-Repair:** The agents fix their own compilation errors before asking for help.
|
|
102
|
+
- **☁️ 1-Click Deploy:** Supports Vercel and Netlify out of the box.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 📄 License
|
|
107
|
+
|
|
108
|
+
MIT © 2026 Agdi Systems.
|
package/bin/agdi.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
// ES module dynamic import for bin executable
|
|
4
|
-
import('../dist/index.js').catch(err => {
|
|
5
|
-
console.error('Failed to load agdi:', err);
|
|
6
|
-
process.exit(1);
|
|
7
|
-
});
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// ES module dynamic import for bin executable
|
|
4
|
+
import('../dist/index.js').catch(err => {
|
|
5
|
+
console.error('Failed to load agdi:', err);
|
|
6
|
+
process.exit(1);
|
|
7
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadConfig,
|
|
3
3
|
saveConfig
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-S45VXJEO.js";
|
|
5
5
|
|
|
6
6
|
// src/core/telemetry/config.ts
|
|
7
7
|
import { randomUUID } from "crypto";
|
|
@@ -10,24 +10,21 @@ var DEFAULT_CONFIG = {
|
|
|
10
10
|
consentAsked: false
|
|
11
11
|
};
|
|
12
12
|
function isTelemetryEnabled() {
|
|
13
|
-
var _a;
|
|
14
13
|
const config = loadConfig();
|
|
15
|
-
return
|
|
14
|
+
return config.telemetry?.enabled ?? false;
|
|
16
15
|
}
|
|
17
16
|
function hasAskedForConsent() {
|
|
18
|
-
var _a;
|
|
19
17
|
const config = loadConfig();
|
|
20
|
-
return
|
|
18
|
+
return config.telemetry?.consentAsked ?? false;
|
|
21
19
|
}
|
|
22
20
|
function setTelemetryConsent(enabled) {
|
|
23
|
-
var _a;
|
|
24
21
|
const config = loadConfig();
|
|
25
22
|
config.telemetry = {
|
|
26
23
|
...DEFAULT_CONFIG,
|
|
27
24
|
...config.telemetry,
|
|
28
25
|
enabled,
|
|
29
26
|
consentAsked: true,
|
|
30
|
-
anonymousId:
|
|
27
|
+
anonymousId: config.telemetry?.anonymousId ?? generateAnonymousId()
|
|
31
28
|
};
|
|
32
29
|
saveConfig(config);
|
|
33
30
|
}
|
|
@@ -41,9 +38,8 @@ function markConsentAsked() {
|
|
|
41
38
|
saveConfig(config);
|
|
42
39
|
}
|
|
43
40
|
function getAnonymousId() {
|
|
44
|
-
var _a;
|
|
45
41
|
const config = loadConfig();
|
|
46
|
-
if (
|
|
42
|
+
if (config.telemetry?.anonymousId) {
|
|
47
43
|
return config.telemetry.anonymousId;
|
|
48
44
|
}
|
|
49
45
|
const anonymousId = generateAnonymousId();
|
|
@@ -62,26 +62,8 @@ function saveConfig(config) {
|
|
|
62
62
|
console.error(chalk.red("Failed to save config:"), error);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
function getConfigDir() {
|
|
66
|
-
return CONFIG_DIR;
|
|
67
|
-
}
|
|
68
|
-
function secureDeleteConfig() {
|
|
69
|
-
try {
|
|
70
|
-
if (fs.existsSync(CONFIG_FILE)) {
|
|
71
|
-
const size = fs.statSync(CONFIG_FILE).size;
|
|
72
|
-
const zeros = Buffer.alloc(size, 0);
|
|
73
|
-
fs.writeFileSync(CONFIG_FILE, zeros);
|
|
74
|
-
fs.unlinkSync(CONFIG_FILE);
|
|
75
|
-
console.log(chalk.green("\u2705 Config securely deleted"));
|
|
76
|
-
}
|
|
77
|
-
} catch (error) {
|
|
78
|
-
console.error(chalk.red("Failed to delete config:"), error);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
65
|
|
|
82
66
|
export {
|
|
83
67
|
loadConfig,
|
|
84
|
-
saveConfig
|
|
85
|
-
getConfigDir,
|
|
86
|
-
secureDeleteConfig
|
|
68
|
+
saveConfig
|
|
87
69
|
};
|
|
@@ -5,9 +5,8 @@ import {
|
|
|
5
5
|
isTelemetryEnabled,
|
|
6
6
|
markConsentAsked,
|
|
7
7
|
setTelemetryConsent
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-EAQYK3U2.js";
|
|
8
|
+
} from "./chunk-M2FF7ETI.js";
|
|
9
|
+
import "./chunk-S45VXJEO.js";
|
|
11
10
|
export {
|
|
12
11
|
getAnonymousId,
|
|
13
12
|
getTelemetryConfig,
|