ignite-agent 0.0.0-stage โ 1.0.0
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/.env.example +26 -0
- package/.ignite_mcp.example.json +22 -0
- package/LICENSE +21 -0
- package/README.md +303 -2
- package/bin/ignite.js +61 -0
- package/ignite_agent.py +4119 -0
- package/package.json +46 -4
- package/requirements.txt +3 -0
package/.env.example
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# ==============================================================================
|
|
2
|
+
# ๐ฅ IGNITE V3 PRO โ Environment Variables Template (.env.example)
|
|
3
|
+
# ==============================================================================
|
|
4
|
+
# You can set these keys in a local .env file OR permanently in PowerShell using:
|
|
5
|
+
# [Environment]::SetEnvironmentVariable("VARIABLE_NAME", "YOUR_KEY", "User")
|
|
6
|
+
# ==============================================================================
|
|
7
|
+
|
|
8
|
+
# โโ 1. Google Gemini (Free tier at https://aistudio.google.com/) โโโโโโโโโโโโโโ
|
|
9
|
+
GEMINI_API_KEY=""
|
|
10
|
+
|
|
11
|
+
# (Optional: Secondary Gemini accounts for high-throughput daily quota rotation)
|
|
12
|
+
GEMINI_API_KEY_2=""
|
|
13
|
+
GEMINI_API_KEY_3=""
|
|
14
|
+
|
|
15
|
+
# โโ 2. Groq Cloud (Free ultra-fast inference at https://console.groq.com/) โโโโโ
|
|
16
|
+
GROQ_API_KEY=""
|
|
17
|
+
GROQ_API_KEY_2=""
|
|
18
|
+
|
|
19
|
+
# โโ 3. Mistral AI (Free tier at https://console.mistral.ai/) โโโโโโโโโโโโโโโโโโ
|
|
20
|
+
MISTRAL_API_KEY=""
|
|
21
|
+
|
|
22
|
+
# โโ 4. Cohere (Free trial at https://dashboard.cohere.com/) โโโโโโโโโโโโโโโโโโโ
|
|
23
|
+
COHERE_API_KEY=""
|
|
24
|
+
|
|
25
|
+
# โโ 5. OpenRouter (Access 100+ free and paid models at https://openrouter.ai/) โ
|
|
26
|
+
OPENROUTER_API_KEY=""
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"filesystem": {
|
|
4
|
+
"command": "npx",
|
|
5
|
+
"args": [
|
|
6
|
+
"-y",
|
|
7
|
+
"@modelcontextprotocol/server-filesystem",
|
|
8
|
+
"."
|
|
9
|
+
],
|
|
10
|
+
"description": "Standard filesystem Model Context Protocol (MCP) tool server"
|
|
11
|
+
},
|
|
12
|
+
"sqlite": {
|
|
13
|
+
"command": "uvx",
|
|
14
|
+
"args": [
|
|
15
|
+
"mcp-server-sqlite",
|
|
16
|
+
"--db-path",
|
|
17
|
+
"app.db"
|
|
18
|
+
],
|
|
19
|
+
"description": "Direct SQLite database MCP querying"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 IGNITE
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,304 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ๐ฅ IGNITE V3 PRO โ Autonomous AI DevOps & Engineering Agent
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **Enterprise-Grade Autonomous AI Software Engineer & DevOps Partner.**
|
|
4
|
+
> Multi-Model Failover ยท Multi-Agent Swarm Orchestrator ยท GitShield Sandboxing ยท Semantic BM25+AST Codebase Indexer ยท Model Context Protocol (MCP) ยท Live Web Dashboard ยท Self-Healing Test Runner.
|
|
5
|
+
|
|
6
|
+
[](https://www.python.org/)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[](#-multi-agent-swarm-orchestrator)
|
|
9
|
+
[](#-quickstart)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## ๐ Table of Contents
|
|
14
|
+
- [โจ Key Architectural Highlights](#-key-architectural-highlights)
|
|
15
|
+
- [๐ API Keys Setup (PowerShell Persistent Method)](#-api-keys-setup-powershell-persistent-method)
|
|
16
|
+
- [Every Supported API Key Command](#every-supported-api-key-command)
|
|
17
|
+
- [Verifying Configured Keys](#verifying-configured-keys)
|
|
18
|
+
- [Alternative: .env File](#alternative-env-file)
|
|
19
|
+
- [๐ Quickstart](#-quickstart)
|
|
20
|
+
- [๐ค Multi-Agent Swarm Mode (`/plan`, `/swarm`)](#-multi-agent-swarm-mode-plan-swarm)
|
|
21
|
+
- [๐ก๏ธ GitShield & Autonomous Rollbacks (`/undo`, `/diff`)](#๏ธ-gitshield--autonomous-rollbacks-undo-diff)
|
|
22
|
+
- [๐ Semantic Codebase Indexer & Search (`/index`, `/search`)](#-semantic-codebase-indexer--search-index-search)
|
|
23
|
+
- [๐ Model Context Protocol (MCP) Integration (`/mcp`)](#-model-context-protocol-mcp-integration-mcp)
|
|
24
|
+
- [๐ Live Web Dashboard (`/dashboard`)](#-live-web-dashboard-dashboard)
|
|
25
|
+
- [๐ Available Slash Commands](#-available-slash-commands)
|
|
26
|
+
- [๐งฐ 18 Autonomous Agent Tools](#-18-autonomous-agent-tools)
|
|
27
|
+
- [๐ License](#-license)
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## โจ Key Architectural Highlights
|
|
32
|
+
|
|
33
|
+
* **Multi-Model Priority Routing & Session Quota Guard:**
|
|
34
|
+
Dynamically balances across Gemini, Groq, Mistral, Cohere, and OpenRouter. When a provider encounters quota exhaustion (`429`), it is automatically blocked for the active session, instantly failing over to the next healthiest provider with zero user interruption.
|
|
35
|
+
* **Multi-Agent Swarm (`SwarmOrchestrator`):**
|
|
36
|
+
Decomposes large goals into Milestone DAGs. Orchestrates **The Architect** (strategic planner), **The Engineer** (focused coder), and **The Critic** (AST & verification gatekeeper) with real-time visual kanban boards.
|
|
37
|
+
* **GitShield Safety & Instant Rollback:**
|
|
38
|
+
Automatically takes shadow snapshots before any task executes. One-command rollback (`/undo`) reverts destructive code edits cleanly.
|
|
39
|
+
* **AST Pre-Flight Syntax Gatekeeper:**
|
|
40
|
+
Every file write or patch is validated against the Python AST parser before touching disk. Syntax errors are rejected at the gate.
|
|
41
|
+
* **Self-Healing Verification Loop:**
|
|
42
|
+
Detects and executes test suites (`pytest`, `unittest`, `npm test`, compiler checks). If tests fail, it automatically captures the traceback, patches the bugs, and re-verifies.
|
|
43
|
+
* **Zero-Dependency Semantic Codebase Indexer & Hybrid RAG:**
|
|
44
|
+
Powered by SQLite FTS5 BM25 search and Python AST symbol extraction (classes, methods, docstrings). Search millions of lines in milliseconds without external vector databases.
|
|
45
|
+
* **Model Context Protocol (MCP) stdio Client:**
|
|
46
|
+
Connects directly to external MCP servers (filesystem, sqlite, github, puppeteer, etc.) over JSON-RPC 2.0.
|
|
47
|
+
* **Direct Answer Auto-Coercion:**
|
|
48
|
+
Never rejects conversational or Markdown completions as invalid JSON.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## ๐ API Keys Setup (PowerShell Persistent Method)
|
|
53
|
+
|
|
54
|
+
On Windows PowerShell, the safest, most professional way to store your API keys is using **`[Environment]::SetEnvironmentVariable(key, value, "User")`**.
|
|
55
|
+
|
|
56
|
+
### Why this method is recommended:
|
|
57
|
+
1. **Permanence:** Stored in your Windows User Registry. Keys survive system restarts, terminal closures, and IDE reloads.
|
|
58
|
+
2. **Security:** No plain text API keys are saved inside repository files or `.env` files that could be accidentally committed to GitHub.
|
|
59
|
+
3. **Instant Loading:** IGNITE automatically reads these variables on startup without needing extra configuration.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### Every Supported API Key Command
|
|
64
|
+
|
|
65
|
+
Open PowerShell and run the commands for the providers you wish to activate:
|
|
66
|
+
|
|
67
|
+
#### 1. ๐ Google Gemini (Primary โ Highly Recommended)
|
|
68
|
+
Get your free API key at [Google AI Studio](https://aistudio.google.com/):
|
|
69
|
+
```powershell
|
|
70
|
+
[Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "your_gemini_api_key_here", "User")
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
#### 2. โก Google Gemini Secondary Accounts (High-Volume Quota Fallback)
|
|
74
|
+
If you have additional Gemini API keys to bypass daily free tier rate limits:
|
|
75
|
+
```powershell
|
|
76
|
+
# Account 2
|
|
77
|
+
[Environment]::SetEnvironmentVariable("GEMINI_API_KEY_2", "your_gemini_key_2_here", "User")
|
|
78
|
+
|
|
79
|
+
# Account 3
|
|
80
|
+
[Environment]::SetEnvironmentVariable("GEMINI_API_KEY_3", "your_gemini_key_3_here", "User")
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
#### 3. ๐ Groq Cloud (Ultra-Fast Inference โ Free Tier)
|
|
84
|
+
Get your free key at [Groq Console](https://console.groq.com/):
|
|
85
|
+
```powershell
|
|
86
|
+
[Environment]::SetEnvironmentVariable("GROQ_API_KEY", "your_groq_api_key_here", "User")
|
|
87
|
+
```
|
|
88
|
+
Optional Groq secondary account:
|
|
89
|
+
```powershell
|
|
90
|
+
[Environment]::SetEnvironmentVariable("GROQ_API_KEY_2", "your_groq_key_2_here", "User")
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
#### 4. ๐ง Mistral AI (Codestral & Mistral Small)
|
|
94
|
+
Get your key at [Mistral AI Console](https://console.mistral.ai/):
|
|
95
|
+
```powershell
|
|
96
|
+
[Environment]::SetEnvironmentVariable("MISTRAL_API_KEY", "your_mistral_api_key_here", "User")
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
#### 5. ๐ Cohere (Command R+)
|
|
100
|
+
Get your key at [Cohere Dashboard](https://dashboard.cohere.com/):
|
|
101
|
+
```powershell
|
|
102
|
+
[Environment]::SetEnvironmentVariable("COHERE_API_KEY", "your_cohere_api_key_here", "User")
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
#### 6. ๐ OpenRouter (100+ Free & Paid Models)
|
|
106
|
+
Get your key at [OpenRouter](https://openrouter.ai/):
|
|
107
|
+
```powershell
|
|
108
|
+
[Environment]::SetEnvironmentVariable("OPENROUTER_API_KEY", "your_openrouter_api_key_here", "User")
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
### Verifying Configured Keys
|
|
114
|
+
|
|
115
|
+
After running the `SetEnvironmentVariable` commands, restart your terminal or verify that the keys are active:
|
|
116
|
+
|
|
117
|
+
```powershell
|
|
118
|
+
# Check individual key
|
|
119
|
+
[Environment]::GetEnvironmentVariable("GEMINI_API_KEY", "User")
|
|
120
|
+
|
|
121
|
+
# Or check in current session
|
|
122
|
+
$env:GEMINI_API_KEY
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
### Alternative: `.env` File
|
|
128
|
+
|
|
129
|
+
If you prefer using a local `.env` file instead of Windows registry variables, copy `.env.example` to `.env`:
|
|
130
|
+
|
|
131
|
+
```powershell
|
|
132
|
+
Copy-Item .env.example .env
|
|
133
|
+
```
|
|
134
|
+
Open `.env` and fill in your keys. *(Note: `.env` is already listed in `.gitignore` to prevent accidental commits).*
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## ๐ Quickstart
|
|
139
|
+
|
|
140
|
+
### Method 1: Global CLI via npm (Recommended)
|
|
141
|
+
|
|
142
|
+
Install globally from anywhere in one command:
|
|
143
|
+
```bash
|
|
144
|
+
npm install -g ignite-agent
|
|
145
|
+
```
|
|
146
|
+
*(Or run immediately with zero installation: `npx ignite-agent`)*
|
|
147
|
+
|
|
148
|
+
Then open any project folder and launch:
|
|
149
|
+
```bash
|
|
150
|
+
ignite
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
> **๐ Interactive First-Time Setup Wizard:**
|
|
154
|
+
> On first launch, IGNITE automatically launches an onboarding wizard that asks for whichever API keys you have (Google Gemini, Groq, Mistral, Cohere, OpenRouter). You do **NOT** need all keys โ entering just one (e.g. free Gemini or free Groq) gets you started instantly! You can re-run this setup anytime using:
|
|
155
|
+
> ```bash
|
|
156
|
+
> ignite setup
|
|
157
|
+
> # or inside the chat:
|
|
158
|
+
> IGNITE> /setup
|
|
159
|
+
> ```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
### Method 2: Clone via Git & Python
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
git clone https://github.com/im-ignite/ignite-agent.git
|
|
167
|
+
cd ignite-agent
|
|
168
|
+
pip install -r requirements.txt
|
|
169
|
+
python ignite_agent.py
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## ๐ค Multi-Agent Swarm Mode (`/plan`, `/swarm`)
|
|
175
|
+
|
|
176
|
+
When facing complex engineering goals, IGNITE activates its internal multi-agent swarm:
|
|
177
|
+
|
|
178
|
+
1. **๐ The Architect:** Breaks down high-level objectives into 3โ6 verifiable milestones with clear acceptance criteria.
|
|
179
|
+
2. **๐ท The Engineer:** Executes code, writes files, compiles assets, and runs tests.
|
|
180
|
+
3. **๐ต๏ธ The Critic:** Performs code review, audits diffs, runs test suites, and enforces self-healing fixes before approving milestones.
|
|
181
|
+
|
|
182
|
+
```text
|
|
183
|
+
IGNITE> /plan build full-stack authentication system with JWT and SQLite
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Toggle direct execution vs swarm mode anytime:
|
|
187
|
+
```text
|
|
188
|
+
IGNITE> /swarm on
|
|
189
|
+
IGNITE> /swarm off
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## ๐ก๏ธ GitShield & Autonomous Rollbacks (`/undo`, `/diff`)
|
|
195
|
+
|
|
196
|
+
Never worry about AI breaking your codebase:
|
|
197
|
+
- **Automatic Pre-Task Checkpointing:** Every file modification is saved into a shadow snapshot before editing.
|
|
198
|
+
- **Instant Rollback:** Revert changes with one command:
|
|
199
|
+
```text
|
|
200
|
+
IGNITE> /undo
|
|
201
|
+
```
|
|
202
|
+
- **Inspect Diffs:** Colorized unified git diffs of uncommitted changes:
|
|
203
|
+
```text
|
|
204
|
+
IGNITE> /diff
|
|
205
|
+
```
|
|
206
|
+
- **Self-Healing Test Runner:**
|
|
207
|
+
```text
|
|
208
|
+
IGNITE> /verify
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## ๐ Semantic Codebase Indexer & Search (`/index`, `/search`)
|
|
214
|
+
|
|
215
|
+
Built-in zero-dependency semantic code search:
|
|
216
|
+
- Indexes all project files (`.py`, `.js`, `.ts`, `.html`, `.css`, `.json`, `.yaml`, etc.) using **SQLite FTS5 BM25** ranking.
|
|
217
|
+
- Extracts AST definitions (classes, functions, methods, docstrings).
|
|
218
|
+
- Incremental updates in under `0.1s`.
|
|
219
|
+
|
|
220
|
+
```text
|
|
221
|
+
IGNITE> /index # Incremental sync
|
|
222
|
+
IGNITE> /index rebuild # Complete re-indexing
|
|
223
|
+
IGNITE> /search verify_token
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## ๐ Model Context Protocol (MCP) Integration (`/mcp`)
|
|
229
|
+
|
|
230
|
+
Connects to standard Model Context Protocol servers over stdio:
|
|
231
|
+
- Discover external tools from filesystem servers, database servers, and APIs.
|
|
232
|
+
- Configure via `.ignite_mcp.json`.
|
|
233
|
+
|
|
234
|
+
```text
|
|
235
|
+
IGNITE> /mcp init # Create starter .ignite_mcp.json
|
|
236
|
+
IGNITE> /mcp list # List available tools across all MCP servers
|
|
237
|
+
IGNITE> /mcp status # Check connectivity of background servers
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## ๐ Live Web Dashboard (`/dashboard`)
|
|
243
|
+
|
|
244
|
+
IGNITE includes a built-in real-time HTTP server and web dashboard:
|
|
245
|
+
```text
|
|
246
|
+
IGNITE> /dashboard
|
|
247
|
+
```
|
|
248
|
+
Opens `http://localhost:7860` in your default browser, providing:
|
|
249
|
+
- Real-time token consumption & estimated cost metrics.
|
|
250
|
+
- Active background process status & log streams.
|
|
251
|
+
- Live session history and memory inspection.
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## ๐ Available Slash Commands
|
|
256
|
+
|
|
257
|
+
| Command | Action |
|
|
258
|
+
|---|---|
|
|
259
|
+
| `/plan [goal]` | Multi-Agent Swarm (Architect โ Engineer โ Critic) |
|
|
260
|
+
| `/swarm [on\|off]` | Toggle Multi-Agent Swarm Mode |
|
|
261
|
+
| `/index [rebuild]` | Incremental or full codebase semantic indexing |
|
|
262
|
+
| `/search <query>` | Search functions, classes, and code chunks across codebase |
|
|
263
|
+
| `/mcp [list\|init]` | Manage Model Context Protocol servers and tools |
|
|
264
|
+
| `/undo`, `/rollback` | Revert codebase to pre-task safety checkpoint |
|
|
265
|
+
| `/diff [file]` | Show colorized git diff of working tree changes |
|
|
266
|
+
| `/verify [cmd]` | Run self-healing test runner / code checks |
|
|
267
|
+
| `/commit [msg]` | Stage and commit all uncommitted changes |
|
|
268
|
+
| `/checkpoint` | Create a manual safety restore snapshot |
|
|
269
|
+
| `/dashboard`, `/ui` | Launch live Web UI on `localhost:7860` |
|
|
270
|
+
| `/model [num]` | Interactive model selector (Arrow keys / 1-9) |
|
|
271
|
+
| `/deploy [target]` | Automated cloud deployment (Railway, Fly, Docker, Render) |
|
|
272
|
+
| `/memory` | Inspect episodic memory & context tokens |
|
|
273
|
+
| `/ps`, `/kill <pid>` | Monitor and manage background subprocesses and windows |
|
|
274
|
+
| `/tools` | Display all 18 available autonomous agent tools |
|
|
275
|
+
| `/clear` | Clear conversation history while preserving learned episodes |
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## ๐งฐ 18 Autonomous Agent Tools
|
|
280
|
+
|
|
281
|
+
1. `terminal`: Execute PowerShell commands with live streaming output.
|
|
282
|
+
2. `file_read`: Read files with line ranges and bounds.
|
|
283
|
+
3. `file_write`: Write/create files with **AST syntax pre-flight gatekeeping**.
|
|
284
|
+
4. `file_patch`: Apply surgical unified diffs.
|
|
285
|
+
5. `git`: Full git repository management.
|
|
286
|
+
6. `git_diff`: Inspect working tree modifications.
|
|
287
|
+
7. `verify_code`: Self-healing automated test runner.
|
|
288
|
+
8. `python_eval`: In-memory isolated Python evaluation.
|
|
289
|
+
9. `spawn`: Open detached visible terminal windows or background workers.
|
|
290
|
+
10. `kill`: Safely terminate processes by PID or name.
|
|
291
|
+
11. `process_status`: Inspect process health and memory.
|
|
292
|
+
12. `read_log`: Stream live stdout/stderr from background processes.
|
|
293
|
+
13. `search`: Web search (DuckDuckGo & Bing fallback).
|
|
294
|
+
14. `code_search`: Semantic hybrid BM25 + AST symbol search across project.
|
|
295
|
+
15. `mcp_call`: Invoke external Model Context Protocol tools.
|
|
296
|
+
16. `deploy`: Autonomous scaffolding & cloud deployment.
|
|
297
|
+
17. `ask`: Pause and request decisions/credentials from user.
|
|
298
|
+
18. `done`: Complete task or answer directly.
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## ๐ License
|
|
303
|
+
|
|
304
|
+
This project is licensed under the [MIT License](LICENSE).
|
package/bin/ignite.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ๐ฅ IGNITE V3 PRO โ CLI Binary Wrapper for npm
|
|
5
|
+
* Launches the autonomous Python agent cleanly cross-platform.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const { spawn, execSync } = require('child_process');
|
|
9
|
+
const path = require('path');
|
|
10
|
+
const fs = require('fs');
|
|
11
|
+
|
|
12
|
+
function findPython() {
|
|
13
|
+
const candidates = process.platform === 'win32'
|
|
14
|
+
? ['python', 'py', 'python3']
|
|
15
|
+
: ['python3', 'python'];
|
|
16
|
+
|
|
17
|
+
for (const cmd of candidates) {
|
|
18
|
+
try {
|
|
19
|
+
execSync(`${cmd} --version`, { stdio: 'ignore' });
|
|
20
|
+
return cmd;
|
|
21
|
+
} catch (e) {}
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const pythonCmd = findPython();
|
|
27
|
+
if (!pythonCmd) {
|
|
28
|
+
console.error('\n\x1b[1;91mโ Python 3 is required to run IGNITE but was not found on your PATH.\x1b[0m');
|
|
29
|
+
console.error('Please install Python 3.10+ from: \x1b[1;96mhttps://www.python.org/downloads/\x1b[0m\n');
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Ensure openai and rich packages are installed
|
|
34
|
+
try {
|
|
35
|
+
execSync(`${pythonCmd} -c "import openai"`, { stdio: 'ignore' });
|
|
36
|
+
} catch (e) {
|
|
37
|
+
console.log('\n\x1b[1;33mโก First-time launch: Installing required AI packages (openai, rich)...\x1b[0m');
|
|
38
|
+
try {
|
|
39
|
+
execSync(`${pythonCmd} -m pip install openai rich`, { stdio: 'inherit' });
|
|
40
|
+
console.log('\x1b[1;92mโ Dependencies installed successfully!\x1b[0m\n');
|
|
41
|
+
} catch (err) {
|
|
42
|
+
console.warn('\x1b[33mWarning: Automatic pip install was interrupted. If IGNITE errors, run: pip install openai rich\x1b[0m\n');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const agentScript = path.join(__dirname, '..', 'ignite_agent.py');
|
|
47
|
+
const args = [agentScript, ...process.argv.slice(2)];
|
|
48
|
+
|
|
49
|
+
const child = spawn(pythonCmd, args, {
|
|
50
|
+
stdio: 'inherit',
|
|
51
|
+
env: process.env,
|
|
52
|
+
shell: false
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
child.on('exit', (code, signal) => {
|
|
56
|
+
if (signal) {
|
|
57
|
+
process.kill(process.pid, signal);
|
|
58
|
+
} else {
|
|
59
|
+
process.exit(code || 0);
|
|
60
|
+
}
|
|
61
|
+
});
|