project-compass 4.3.6 โ†’ 4.3.7

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 CHANGED
@@ -4,77 +4,604 @@
4
4
 
5
5
  Project Compass is a high-performance, TUI (Terminal User Interface) workspace orchestrator built with Ink and React. It transforms your terminal into a command center for managing complex, multi-stack environments with a focus on speed, safety, and visual clarity.
6
6
 
7
+ ---
8
+
7
9
  ## ๐Ÿ› ๏ธ Installation
8
10
 
9
11
  ```bash
12
+ # Install globally via npm
10
13
  npm install -g project-compass
14
+
15
+ # Or install from source
16
+ git clone https://github.com/CrimsonDevil333333/project-compass.git
17
+ cd project-compass
18
+ npm install
19
+ npm start
11
20
  ```
12
21
 
22
+ ---
23
+
13
24
  ## ๐Ÿ”— Links
14
- - **NPM**: [npmjs.com/package/project-compass](https://www.npmjs.com/package/project-compass)
15
- - **GitHub**: [github.com/CrimsonDevil333333/project-compass](https://github.com/CrimsonDevil333333/project-compass)
16
-
17
- ## ๐ŸŒŒ The Navigator
18
- ![Navigator View](https://raw.githubusercontent.com/CrimsonDevil333333/project-compass/master/assets/screenshots/navigator.jpg)
19
-
20
- ### ๐ŸŒŸ Premium Features
21
-
22
- ### ๐ŸŒŒ The Navigator (Main Interface)
23
- - **Automatic Discovery**: Instantly identifies **Node.js, Python, Rust, Go, Java, PHP, Ruby, .NET, and Shell/Make**.
24
- - **Paginated Control**: Optimized for massive workspaces. View projects in clean, manageable pages with **Page Up / Page Down** support.
25
- - **Configurable UI**: Customize your view with `maxVisibleProjects` and toggleable Art Boards and Help Cards.
26
-
27
- ### ๐Ÿ›ฐ๏ธ Orbit Task Manager (`Shift+T`)
28
- ![Task Manager](https://raw.githubusercontent.com/CrimsonDevil333333/project-compass/master/assets/screenshots/taskmanager.jpg)
29
- - **Background Orchestration**: Keep tasks running while you navigate.
30
- - **Process Management**: Kill (`Shift+K`) or Rename (`Shift+R`) background tasks on the fly.
31
-
32
- ### ๐Ÿ“ฆ Package Registry (`Shift+P`)
33
- ![Package Registry](https://raw.githubusercontent.com/CrimsonDevil333333/project-compass/master/assets/screenshots/registry.jpg)
34
- - **Native Logic**: Automatically uses your project's preferred package manager (**npm, pnpm, yarn, bun, pip, cargo, composer, dotnet**).
35
- - **Internal Switcher**: Quick-swap between detected projects directly inside the registry.
36
-
37
- ### ๐Ÿ—๏ธ Project Architect (`Shift+N`)
38
- ![Project Architect](https://raw.githubusercontent.com/CrimsonDevil333333/project-compass/master/assets/screenshots/architect.jpg)
39
- - **Modern Templates**: Scaffold high-performance projects with built-in support for **Bun, Next.js, Vite, Rust, and Django**.
40
-
41
- ### ๐Ÿค– AI Horizon (`Shift+O` or `0`)
42
- - **Agentic Intelligence**: Real-world integration with **OpenRouter, Gemini, Claude, and Ollama**.
43
- - **DNA Mapping**: Automatically analyzes your project structure and **injects optimized BRIT commands** (Build, Run, Install, Test) into your config.
44
- - **Persistent Auth**: Save your API tokens once; Compass handles the secure handshake thereafter.
45
-
46
- ### ๐Ÿ”Œ Infrastructure Control (`Shift+R`)
47
- - **Manual Port Mapping**: Directly assign specific ports to projects. Config is saved persistently to prevent conflicts.
48
- - **Metadata Awareness**: AI Horizon uses your manual port settings to suggest smarter deployment scripts.
49
-
50
- ### ๐ŸŽจ Omni-Studio & Art Board
51
- ![Omni-Studio](https://raw.githubusercontent.com/CrimsonDevil333333/project-compass/master/assets/screenshots/studio.jpg)
52
- ![Art Board](https://raw.githubusercontent.com/CrimsonDevil333333/project-compass/master/assets/screenshots/artboard.jpg)
53
-
54
- ## โŒจ๏ธ Command Reference
55
-
56
- | Shortcut | Action |
57
- | :--- | :--- |
58
- | `โ†‘ / โ†“` | Move project focus |
59
- | `PgUp / PgDn`| Jump full project page |
60
- | `Enter` | Toggle project Detail View |
61
- | `0` | Trigger **AI DNA Analysis** (Inside Details) |
62
- | `B / T / R / I`| Macro: Build, Test, Run, Install |
63
- | `Shift + R` | **Configure Port** (Inside Details) |
64
- | `Shift + O` | **AI Horizon** Dashboard |
65
- | `Shift + T` | **Orbit**: Task Manager |
66
- | `Shift + P` | **Registry**: Package Manager |
67
- | `Shift + A` | **Studio**: Environment Health |
68
- | `Shift + B` | Toggle **Art Board** visibility |
69
- | `Shift + H` | Toggle **Help Cards** |
70
- | `Shift + S` | Toggle **Structure Guide** |
71
- | `Shift + Q` | **Quit** (with terminal clear) |
72
-
73
- ## โš™๏ธ Configuration
74
-
75
- Edit `~/.project-compass/config.json` to customize:
76
- - `maxVisibleProjects`: How many rows per page (default: 3).
77
- - `aiToken / aiModel`: Your intelligence credentials.
78
-
79
- ---
80
- **Crafted with โค๏ธ by Satyaa & Clawdy**
25
+
26
+ - **NPM Package**: [npmjs.com/package/project-compass](https://www.npmjs.com/package/project-compass)
27
+ - **GitHub Repository**: [github.com/CrimsonDevil333333/project-compass](https://github.com/CrimsonDevil333333/project-compass)
28
+ - **Bug Reports**: [github.com/CrimsonDevil333333/project-compass/issues](https://github.com/CrimsonDevil333333/project-compass/issues)
29
+
30
+ ---
31
+
32
+ ## ๐ŸŒŒ The Navigator (Main Interface)
33
+
34
+ ### Features
35
+ - **Automatic Discovery**: Instantly identifies **Node.js, Python, Rust, Go, Java, PHP, Ruby, .NET** projects
36
+ - **Accurate Framework Detection**: No hallucinations - only detects frameworks with actual dependencies (fixed in v4.3.6)
37
+ - **Paginated Control**: Optimized for massive workspaces. View projects in clean, manageable pages with **Page Up / Page Down** support
38
+ - **Configurable UI**: Customize your view with `maxVisibleProjects` and toggleable Art Boards and Help Cards
39
+ - **Real-time Scanning**: Projects are detected automatically when you navigate to a directory
40
+
41
+ ### Supported Languages & Detection
42
+ | Language | Manifest Files | Package Managers | Priority |
43
+ |----------|----------------|-------------------|----------|
44
+ | **Node.js** | `package.json` | npm, pnpm, yarn, bun | 100 |
45
+ | **Python** | `pyproject.toml`, `requirements.txt`, `setup.py`, `Pipfile`, `manage.py` | uv, poetry, pipenv, pip | 95 |
46
+ | **Rust** | `Cargo.toml` | cargo | 90 |
47
+ | **Go** | `go.mod` | go | 85 |
48
+ | **Java** | `pom.xml`, `build.gradle`, `build.gradle.kts` | maven, gradle | 80 |
49
+ | **PHP** | `composer.json` | composer | 75 |
50
+ | **Ruby** | `Gemfile` | bundler | 70 |
51
+ | **.NET** | `*.csproj`, `*.fsproj` | dotnet | 65 |
52
+
53
+ ---
54
+
55
+ ## ๐Ÿ›ฐ๏ธ Orbit Task Manager (`Shift+T`)
56
+
57
+ ### Features
58
+ - **Background Orchestration**: Keep tasks running while you navigate
59
+ - **Process Management**: Kill (`Shift+K`) or Rename (`Shift+R`) background tasks on the fly
60
+ - **Live Log Streaming**: Real-time output with scroll support (`Shift+โ†‘/โ†“`)
61
+ - **Log Management**: Clear logs (`Shift+X`) or export to file (`Shift+E`)
62
+ - **Multi-Task Support**: Run multiple commands simultaneously
63
+
64
+ ---
65
+
66
+ ## ๐Ÿ“ฆ Package Registry (`Shift+P`)
67
+
68
+ ### Features
69
+ - **Native Logic**: Automatically uses your project's preferred package manager
70
+ - Node.js: npm, pnpm, yarn, bun
71
+ - Python: uv, poetry, pipenv, pip
72
+ - Rust: cargo
73
+ - Go: go
74
+ - Java: maven, gradle
75
+ - PHP: composer
76
+ - Ruby: bundler
77
+ - .NET: dotnet
78
+ - **Internal Switcher**: Quick-swap between detected projects directly inside the registry
79
+ - **Add/Remove Packages**: Interactive package management
80
+ - **Python Virtual Environments**: Create venv with `V` key
81
+
82
+ ---
83
+
84
+ ## ๐Ÿ—๏ธ Project Architect (`Shift+N`)
85
+
86
+ ### Features
87
+ - **Modern Templates**: Scaffold high-performance projects with built-in support for:
88
+ - **Next.js** (npm or Bun)
89
+ - **React** (Vite with pnpm or npm)
90
+ - **Vue** (Vite)
91
+ - **Rust** (Cargo binary)
92
+ - **Django** (startproject)
93
+ - **Python** (Basic directory)
94
+ - **Go** (mod init)
95
+
96
+ ### CLI Alternative (Non-TUI)
97
+ ```bash
98
+ project-compass --scaffold nextjs --name my-app --dir /path/to/output
99
+ project-compass --scaffold python-basic --name my-script --dir /tmp
100
+ ```
101
+
102
+ ---
103
+
104
+ ## ๐Ÿค– AI Horizon (`Shift+O` or `0` in Detail View)
105
+
106
+ ### Features
107
+ - **Agentic Intelligence**: Real-world integration with **OpenRouter, Gemini, Claude, and Ollama**
108
+ - **DNA Mapping**: Analyzes your project structure and **injects optimized BRIT commands** (Build, Run, Install, Test) into your config
109
+ - **Raw AI Output**: View actual AI responses before applying
110
+ - **Persistent Auth**: Save your API tokens once; Compass handles the secure handshake thereafter
111
+ - **Project-Specific Config**: Loads `compass.config.js` from project directories
112
+ - **Editable Suggestions**: Review and edit AI suggestions before saving (`E` to edit)
113
+ - **Manual Save**: Press `S` to save suggestions to config
114
+
115
+ ### Supported AI Providers
116
+ | Provider | Endpoint | Configuration |
117
+ |----------|----------|----------------|
118
+ | **OpenRouter** | `https://openrouter.ai/api/v1/chat/completions` | Default provider |
119
+ | **Google Gemini** | `https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent` | Requires API key |
120
+ | **Anthropic Claude** | `https://api.anthropic.com/v1/messages` | Requires API key |
121
+ | **Ollama (Local)** | `http://localhost:11434/api/generate` | Local installation required |
122
+
123
+ ---
124
+
125
+ ## ๐Ÿ”Œ Infrastructure Control (`Shift+R`)
126
+
127
+ ### Features
128
+ - **Manual Port Mapping**: Directly assign specific ports to projects
129
+ - **Metadata Awareness**: AI Horizon uses your manual port settings to suggest smarter deployment scripts
130
+ - **Config Persistence**: Settings saved to `~/.project-compass/config.json`
131
+
132
+ ---
133
+
134
+ ## ๐ŸŽจ Omni-Studio & Art Board
135
+
136
+ ### Omni-Studio (`Shift+A`)
137
+ - **Runtime Health Check**: Scans for installed languages and versions
138
+ - **Environment Audit**: Quick overview of available build tools
139
+ - **CLI Alternative**: `project-compass --studio-check`
140
+
141
+ ### Art Board (`Shift+B`)
142
+ - **Build Atlas**: Visual representation of your workspace
143
+ - **Toggle Visibility**: Saved to config (`showArtBoard`)
144
+
145
+ ---
146
+
147
+ ## โŒจ๏ธ Complete Command Reference
148
+
149
+ ### Navigation (All Modes)
150
+ | Key | Action | Context |
151
+ |-----|--------|---------|
152
+ | `โ†‘` / `โ†“` | Move project focus | Navigator |
153
+ | `PgUp` / `PgDn` | Jump full project page | Navigator |
154
+ | `Enter` | Toggle project Detail View / Switch back from sub-views | Navigator |
155
+ | `Esc` | **Global Back**: Return to Main Navigator from any view | Global |
156
+ | `?` | Toggle help overlay | Navigator |
157
+ | `Shift+Q` | **Quit** application (confirms if tasks are running) | Global |
158
+ | `Ctrl+C` | Interrupt running command | When process running |
159
+
160
+ ### Quick Actions (Detail View Only)
161
+ | Key | Action | Description |
162
+ |-----|--------|-------------|
163
+ | `0` | **Quick AI Analysis** | Switches to AI Horizon for selected project |
164
+ | `B` | **Build** project | Runs build command |
165
+ | `T` | **Test** project | Runs test command |
166
+ | `R` | **Run** project | Runs run command |
167
+ | `I` | **Install** dependencies | Runs install command |
168
+ | `1-9` | **Run numbered commands** | Execute commands 1-9 from detail view |
169
+ | `Shift+1-9` (A-Z) | **Run commands 10+** | Execute commands 10+ (A=10, B=11, etc.) |
170
+
171
+ ### View Toggles
172
+ | Key | Action | Description |
173
+ |-----|--------|-------------|
174
+ | `Shift+O` | **AI Horizon** Dashboard | Workspace intelligence & analysis |
175
+ | `Shift+T` | **Orbit Task Manager** | Manage background processes |
176
+ | `Shift+P` | **Package Registry** | Dependency management |
177
+ | `Shift+N` | **Project Architect** | Scaffold new projects |
178
+ | `Shift+A` | **Omni-Studio** | Environment & runtime health |
179
+
180
+ ### UI Toggles (Saved to Config)
181
+ | Key | Action | Config Key |
182
+ |-----|--------|----------|
183
+ | `Shift+B` | Toggle **Art Board** visibility | `showArtBoard` |
184
+ | `Shift+H` | Toggle **Help Cards** UI | `showHelpCards` |
185
+ | `Shift+S` | Toggle **Structure Guide** | `showStructureGuide` |
186
+
187
+ ### Task Management
188
+ | Key | Action | Context |
189
+ |-----|--------|---------|
190
+ | `Shift+K` | **Kill** running process | Task Manager |
191
+ | `Shift+R` | **Rename** task | Task Manager |
192
+ | `Shift+D` | **Detach** from active task (runs in background) | Navigator |
193
+ | `Shift+X` | **Clear** active task output logs | Navigator |
194
+ | `Shift+E` | **Export** logs to a timestamped `.txt` file | Navigator |
195
+ | `Shift+L` | **Rerun** the last executed command | Navigator |
196
+ | `โ†‘` / `โ†“` | Move focus between tasks | Task Manager |
197
+ | `Enter` | Select/deselect task | Task Manager |
198
+
199
+ ### Log Scrolling
200
+ | Key | Action |
201
+ |-----|--------|
202
+ | `Shift+โ†‘` | Scroll output logs up |
203
+ | `Shift+โ†“` | Scroll output logs down |
204
+
205
+ ### Project Configuration
206
+ | Key | Action | Context |
207
+ |-----|--------|---------|
208
+ | `Shift+R` | **Configure Port** / Rename task | Detail View / Task Manager |
209
+ | `Shift+C` | **Add Custom Command** (`label\|cmd`) | Detail View |
210
+
211
+ ---
212
+
213
+ ## ๐Ÿ’ป Complete CLI Reference (Non-TUI Mode)
214
+
215
+ ### Basic Usage
216
+ ```bash
217
+ # Show help
218
+ project-compass --help
219
+ project-compass -h
220
+
221
+ # Show version
222
+ project-compass --version
223
+ project-compass -v
224
+
225
+ # Launch TUI (default: navigator view)
226
+ project-compass
227
+ project-compass --dir /path/to/workspace
228
+ ```
229
+
230
+ ### Direct View Launch
231
+ ```bash
232
+ # Launch directly into specific views
233
+ project-compass --studio # Launch in Studio view
234
+ project-compass --ai # Launch in AI Horizon view
235
+ project-compass --task # Launch in Task Manager view
236
+ project-compass --tasks # Alias for --task
237
+ ```
238
+
239
+ ### Project Detection (No TUI)
240
+ ```bash
241
+ # List detected projects with details
242
+ project-compass --mode test
243
+ project-compass --dir /path/to/workspace --mode test
244
+
245
+ # List projects with full details
246
+ project-compass --list-projects
247
+ project-compass --list-projects --dir /path/to/workspace
248
+
249
+ # Get project info by index
250
+ project-compass --project-info 0 --dir /path/to/workspace
251
+
252
+ # Output as JSON (for scripting/automation)
253
+ project-compass --list-projects --json
254
+ project-compass --project-info 0 --json
255
+ ```
256
+
257
+ ### Run Commands Directly (No TUI)
258
+ ```bash
259
+ # Run any command in a project directory
260
+ project-compass --run "npm install" --dir /path/to/project
261
+ project-compass --run "uv sync" --dir /path/to/python
262
+ project-compass --run "cargo build" --dir /path/to/rust
263
+ project-compass --run "go mod tidy" --dir /path/to/go
264
+ ```
265
+
266
+ ### Package Management (No TUI)
267
+ ```bash
268
+ # Add packages to project
269
+ project-compass --add-pkg "express" --dir /path/to/node-project
270
+ project-compass --add-pkg "fastapi" --dir /path/to/python-project
271
+
272
+ # Remove packages from project
273
+ project-compass --remove-pkg "lodash" --dir /path/to/node-project
274
+ project-compass --remove-pkg "requests" --dir /path/to/python-project
275
+ ```
276
+
277
+ ### Project Scaffolding (No TUI)
278
+ ```bash
279
+ # Create new projects from templates
280
+ project-compass --scaffold nextjs --name my-app --dir /path/to/output
281
+ project-compass --scaffold nextjs-bun --name my-app --dir /path/to/output
282
+ project-compass --scaffold react-vite --name my-app --dir /path/to/output
283
+ project-compass --scaffold react-vite-npm --name my-app --dir /path/to/output
284
+ project-compass --scaffold vue-vite --name my-app --dir /path/to/output
285
+ project-compass --scaffold rust --name my-app --dir /path/to/output
286
+ project-compass --scaffold django --name my-app --dir /path/to/output
287
+ project-compass --scaffold python-basic --name my-app --dir /path/to/output
288
+ project-compass --scaffold go --name my-app --dir /path/to/output
289
+ ```
290
+
291
+ Available Templates:
292
+ - `nextjs` - Next.js with npm
293
+ - `nextjs-bun` - Next.js with Bun
294
+ - `react-vite` - React with Vite (pnpm)
295
+ - `react-vite-npm` - React with Vite (npm)
296
+ - `vue-vite` - Vue with Vite
297
+ - `rust` - Rust Cargo binary
298
+ - `django` - Django project
299
+ - `python-basic` - Basic Python directory
300
+ - `go` - Go module
301
+
302
+ ### Environment Health Check (No TUI)
303
+ ```bash
304
+ # Check installed runtimes
305
+ project-compass --studio-check
306
+
307
+ # Output example:
308
+ # โœ“ Node.js: v24.15.0
309
+ # โœ“ npm: 11.12.1
310
+ # โœ“ Python: Python 3.13.5
311
+ # โœ— Rust (Cargo): not installed
312
+ # โœ“ Go: go version go1.24.4 linux/arm64
313
+ ```
314
+
315
+ ### AI Analysis
316
+ ```bash
317
+ # AI analysis requires interactive TUI mode for API configuration
318
+ project-compass --ai
319
+ project-compass --ai --dir /path/to/project
320
+
321
+ # Note: --ai-analyze flag shows message to use TUI mode
322
+ project-compass --ai-analyze # Shows: "AI analysis requires interactive TUI mode"
323
+ ```
324
+
325
+ ---
326
+
327
+ ## ๐Ÿ”ง Configuration
328
+
329
+ ### Main Config File: `~/.project-compass/config.json`
330
+
331
+ ```json
332
+ {
333
+ "customCommands": {
334
+ "/path/to/project": [
335
+ { "label": "My Command", "command": ["echo", "hello"], "source": "custom" }
336
+ ]
337
+ },
338
+ "showArtBoard": true,
339
+ "showHelpCards": false,
340
+ "showStructureGuide": false,
341
+ "maxVisibleProjects": 3,
342
+ "aiProvider": "openrouter",
343
+ "aiModel": "deepseek/deepseek-r1",
344
+ "aiToken": "your-api-token-here",
345
+ "projectMeta": {
346
+ "/path/to/project": { "port": "3000" }
347
+ }
348
+ }
349
+ ```
350
+
351
+ ### Configuration Options
352
+ | Option | Type | Default | Description |
353
+ |--------|------|---------|-------------|
354
+ | `customCommands` | Object | `{}` | Per-project custom commands |
355
+ | `showArtBoard` | Boolean | `true` | Show/hide the art board |
356
+ | `showHelpCards` | Boolean | `false` | Show/hide help cards |
357
+ | `showStructureGuide` | Boolean | `false` | Show/hide structure guide |
358
+ | `maxVisibleProjects` | Number | `3` | Projects per page in navigator |
359
+ | `aiProvider` | String | `"openrouter"` | AI provider ID |
360
+ | `aiModel` | String | `"deepseek/deepseek-r1"` | AI model to use |
361
+ | `aiToken` | String | `""` | API token for AI provider |
362
+ | `projectMeta` | Object | `{}` | Per-project metadata (ports, etc.) |
363
+
364
+ ### Project-Specific Config: `compass.config.js`
365
+
366
+ Create a `compass.config.js` in your project root:
367
+
368
+ ```javascript
369
+ export default {
370
+ commands: {
371
+ custom: {
372
+ label: 'My Command',
373
+ command: ['echo', 'hello'],
374
+ source: 'config'
375
+ }
376
+ },
377
+ frameworks: [
378
+ { name: 'MyFramework', icon: '๐Ÿš€' }
379
+ ]
380
+ };
381
+ ```
382
+
383
+ This file is automatically loaded during project detection and merged into project data.
384
+
385
+ ### Custom Framework Plugins: `~/.project-compass/plugins.json`
386
+
387
+ ```json
388
+ {
389
+ "plugins": [
390
+ {
391
+ "name": "My Framework",
392
+ "icon": "๐Ÿš€",
393
+ "languages": ["Node.js"],
394
+ "files": ["my-framework.config.js"],
395
+ "dependencies": ["my-framework"],
396
+ "priority": 100,
397
+ "commands": {
398
+ "dev": {
399
+ "label": "Dev",
400
+ "command": ["my-cli", "dev"]
401
+ }
402
+ }
403
+ }
404
+ ]
405
+ }
406
+ ```
407
+
408
+ ---
409
+
410
+ ## ๐Ÿ—๏ธ Built-in Framework Intelligence
411
+
412
+ ### Node.js Frameworks (40+ detected)
413
+ | Framework | Icon | Commands | Auto-Detected |
414
+ |-----------|------|----------|---------------|
415
+ | **Next.js** | ๐Ÿงญ | install, dev, build, test, start | โœ“ |
416
+ | **React** | โš›๏ธ | install, dev, build, test | โœ“ |
417
+ | **Vue.js** | ๐ŸŸฉ | install, dev, build, test | โœ“ |
418
+ | **NestJS** | ๐Ÿ›ก๏ธ | install, dev (start:dev), build, test | โœ“ |
419
+ | **Nuxt** | ๐ŸŸข | install, dev, build, generate | โœ“ |
420
+ | **Express** | ๐Ÿš‚ | install, start, dev | โœ“ |
421
+ | **Svelte** | ๐Ÿงก | install, dev, build, test | โœ“ |
422
+ | **Astro** | ๐Ÿš€ | install, dev, build, preview | โœ“ |
423
+ | **Fastify** | โšก | install, start, dev | โœ“ |
424
+ | **Koa** | ๐ŸŽ‹ | install, start | โœ“ |
425
+ | **Vite** | โšก | install, dev, build, preview | โœ“ |
426
+ | **Tailwind CSS** | ๐ŸŽจ | init | โœ“ |
427
+ | **Prisma** | โ—ฎ | install, generate, studio | โœ“ |
428
+ | **tRPC** | ๐Ÿ”Œ | dev, build | โœ“ |
429
+ | **GraphQL** | โ—ผ๏ธ | start, dev | โœ“ |
430
+
431
+ ### Python Frameworks
432
+ | Framework | Icon | Commands | Auto-Detected |
433
+ |-----------|------|----------|---------------|
434
+ | **FastAPI** | โšก | install, run (uvicorn), test | โœ“ |
435
+ | **Flask** | ๐ŸŒถ๏ธ | install, run, test | โœ“ |
436
+ | **Django** | ๐ŸŒฟ | install, runserver, test, migrate | โœ“ |
437
+ | **Sanic** | ๐Ÿš€ | run, test | โœ“ |
438
+ | **AioHTTP** | ๐Ÿ”„ | test | โœ“ |
439
+ | **Tornado** | ๐ŸŒช๏ธ | run, test | โœ“ |
440
+ | **Pytest** | โœ… | run, coverage | โœ“ |
441
+ | **SQLAlchemy** | ๐Ÿ—„๏ธ | test | โœ“ |
442
+
443
+ ### Rust Frameworks
444
+ | Framework | Icon | Commands | Auto-Detected |
445
+ |-----------|------|----------|---------------|
446
+ | **Actix Web** | ๐ŸŽญ | fetch, run, test, build | โœ“ |
447
+ | **Axum** | ๐Ÿ—ก๏ธ | fetch, run, test | โœ“ |
448
+ | **Rocket** | ๐Ÿš€ | fetch, run, test | โœ“ |
449
+ | **Warp** | ๐ŸŒ€ | run, test | โœ“ |
450
+ | **Tokio** | โšก | run, test | โœ“ |
451
+
452
+ ### Go Frameworks
453
+ | Framework | Icon | Commands | Auto-Detected |
454
+ |-----------|------|----------|---------------|
455
+ | **Gin** | ๐Ÿธ | mod tidy, run, test, build | โœ“ |
456
+ | **Fiber** | ๐Ÿ”ฅ | run, test | โœ“ |
457
+ | **Echo** | ๐Ÿ”Š | run, test | โœ“ |
458
+ | **Chi** | ๐Ÿค | run, test | โœ“ |
459
+
460
+ ### Java Frameworks
461
+ | Framework | Icon | Commands | Auto-Detected |
462
+ |-----------|------|----------|---------------|
463
+ | **Spring Boot** | ๐Ÿƒ | install, run, test, build | โœ“ |
464
+ | **Quarkus** | โšก | dev, build, test | โœ“ |
465
+ | **Micronaut** | ๐Ÿš€ | run, test | โœ“ |
466
+
467
+ ### PHP Frameworks
468
+ | Framework | Icon | Commands | Auto-Detected |
469
+ |-----------|------|----------|---------------|
470
+ | **Laravel** | ๐Ÿงก | install, serve, test, migrate | โœ“ |
471
+ | **Symfony** | ๐ŸŽต | install, server:start, test | โœ“ |
472
+ | **CodeIgniter** | ๐Ÿ”ฅ | test | โœ“ |
473
+
474
+ ### Ruby Frameworks
475
+ | Framework | Icon | Commands | Auto-Detected |
476
+ |-----------|------|----------|---------------|
477
+ | **Ruby on Rails** | ๐Ÿ›ค๏ธ | install, server, test, migrate | โœ“ |
478
+ | **Sinatra** | ๐ŸŽท | install, rackup | โœ“ |
479
+
480
+ ### .NET Frameworks
481
+ | Framework | Icon | Commands | Auto-Detected |
482
+ |-----------|------|----------|---------------|
483
+ | **ASP.NET Core** | ๐Ÿ”ท | restore, run, test, build | โœ“ |
484
+ | **Blazor** | ๐ŸŒ€ | run, build | โœ“ |
485
+
486
+ ---
487
+
488
+ ## ๐ŸŽฏ Recent Fixes (v4.3.6)
489
+
490
+ ### 1. Framework Hallucination Bug FIXED
491
+ **Problem**: Projects without frameworks were showing random frameworks (e.g., simple Python project with `main.py` was detected as FastAPI).
492
+
493
+ **Root Cause**: Framework matchers in `frameworks.js` used file existence (`hasProjectFile`) instead of dependency matching.
494
+
495
+ **Fix Applied**:
496
+ - `fastapi` matcher: Removed `|| hasProjectFile(project.path, 'main.py')`
497
+ - `django` matcher: Removed `|| hasProjectFile(project.path, 'manage.py')`
498
+ - Java/.NET/Ruby frameworks: Now use `dependencyMatches()` instead of file checks
499
+
500
+ **Result**: Projects without explicit framework dependencies now correctly show `Frameworks: none`.
501
+
502
+ ### 2. compass-config.js Integration
503
+ **Problem**: `compass-config.js` existed but was never integrated into project detection.
504
+
505
+ **Fix Applied**:
506
+ - Added import of `loadProjectConfig` in `projectDetection.js`
507
+ - Integrated into `discoverProjects()` function to load `compass.config.js` from project directories
508
+ - Project-specific commands and frameworks from `compass.config.js` are now merged into project data
509
+
510
+ ### 3. AI Horizon Improvements
511
+ **Problem**: AI Horizon didn't properly show raw AI output and had poor JSON parsing.
512
+
513
+ **Fix Applied**:
514
+ - Added `rawAIResponse` state to store raw AI output
515
+ - Improved JSON parsing to handle markdown code blocks (```json ... ```)
516
+ - Raw AI response is now displayed in the UI during review step
517
+ - Better error messages showing partial AI response if JSON parsing fails
518
+
519
+ ### 4. Node.js Detector Fixed
520
+ **Problem**: `node.js` detector was adding "Node.js" as a framework.
521
+
522
+ **Fix Applied**:
523
+ - Detector now only adds framework if it's not the generic "Node.js" type
524
+ - Projects using plain Node.js without frameworks now show `Frameworks: none`
525
+
526
+ ### 5. Framework Deduplication
527
+ **Problem**: `applyFrameworkPlugins()` could add duplicate frameworks.
528
+
529
+ **Fix Applied**:
530
+ - Added check to avoid adding duplicate frameworks
531
+ - Now preserves detector-detected frameworks and merges with plugin-detected ones
532
+
533
+ ---
534
+
535
+ ## ๐Ÿš€ Performance
536
+
537
+ - **Fast Scanning**: Uses `fast-glob` for high-speed project discovery
538
+ - **Non-Blocking**: Heavy operations (globbing, command execution) are offloaded from the main render loop
539
+ - **Smart Caching**: Framework plugins are cached after first load
540
+ - **Memory Efficient**: Log buffers capped at 500 lines per task
541
+
542
+ ---
543
+
544
+ ## ๐Ÿ”’ Security
545
+
546
+ - **No Arbitrary Execution**: Commands are only executed when explicitly requested by the user
547
+ - **Local Storage**: API tokens stored locally in `~/.project-compass/config.json`
548
+ - **Workspace Boundaries**: Project detection respects directory structure
549
+ - **Process Isolation**: Background tasks are managed via `execa` with proper cleanup
550
+
551
+ ---
552
+
553
+ ## ๐ŸŽ“ Examples
554
+
555
+ ### Example 1: Navigate and Run
556
+ ```bash
557
+ # Launch TUI
558
+ project-compass
559
+
560
+ # Use โ†‘/โ†“ to select project
561
+ # Press Enter to see details
562
+ # Press B/T/R/I to Build/Test/Run/Install
563
+ # Press 0 for AI analysis
564
+ ```
565
+
566
+ ### Example 2: Quick CLI Usage
567
+ ```bash
568
+ # Detect projects
569
+ project-compass --list-projects --dir ~/workspace
570
+
571
+ # Run command
572
+ project-compass --run "npm install" --dir ~/workspace/my-project
573
+
574
+ # Add package
575
+ project-compass --add-pkg "express" --dir ~/workspace/my-project
576
+ ```
577
+
578
+ ### Example 3: JSON Output for Scripting
579
+ ```bash
580
+ # Get project list as JSON
581
+ project-compass --list-projects --json --dir ~/workspace | jq '.[0].name'
582
+
583
+ # Get specific project info
584
+ project-compass --project-info 0 --json --dir ~/workspace
585
+ ```
586
+
587
+ ---
588
+
589
+ ## ๐Ÿ“ฆ NPM Scripts
590
+
591
+ ```bash
592
+ # Start the TUI
593
+ npm start
594
+
595
+ # Run linting
596
+ npm run lint
597
+
598
+ # Test project detection
599
+ npm run test
600
+
601
+ # Run a command (uses --run flag)
602
+ npm run run -- "echo hello"
603
+ ```
604
+
605
+ ---
606
+
607
+ **Crafted with โค๏ธ by Satyaa & Clawdy (AI Agent)**