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 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
- # Temporary Holding Version
1
+ # ๐Ÿ”ฅ IGNITE V3 PRO โ€” Autonomous AI DevOps & Engineering Agent
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
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
+ [![Python](https://img.shields.io/badge/Python-3.10%2B-blue.svg)](https://www.python.org/)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+ [![Architecture: Multi--Agent Swarm](https://img.shields.io/badge/Architecture-Multi--Agent%20Swarm-green.svg)](#-multi-agent-swarm-orchestrator)
9
+ [![Zero External Dependencies](https://img.shields.io/badge/Dependencies-Zero%20Mandatory-brightgreen.svg)](#-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
+ });