dimagx 0.2.0__tar.gz

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.
@@ -0,0 +1,44 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.2.0] - 2026-05-16
9
+
10
+ ### Added
11
+ - **Symbol-Level Indexing**: Integrated **Tree-sitter** for deep code parsing. Extracted functions, classes, and methods are now indexed as nodes in the project brain.
12
+ - **Semantic Search**: Implemented local vector embeddings using `sentence-transformers`. The `query_memory` tool now supports natural language semantic search over the entire memory graph.
13
+ - **Framework-Specific Entities**: Auto-detection and indexing of architectural patterns:
14
+ - **Flutter**: Cubits, Blocs, Providers, and Pages.
15
+ - **React**: Components and Hooks.
16
+ - **FastAPI**: API Routes and endpoints.
17
+ - **Bug Tracking Layer**: Added dedicated `dimagx bug` commands (`report`, `fix`, `list`) to track project issues and link them to files and commits.
18
+ - **Agentic Memory Automation**: MCP server now automatically detects if a prompt relates to a Bug Fix or Feature implementation and logs it accordingly.
19
+ - **Hierarchical Graph View**: New `dimagx graph` command provides a structural ASCII visualization of PRDs, Features, Files, and Architecture.
20
+ - **Git Branch Integration**: Automatic feature name detection from git branch names when starting a new feature.
21
+ - **Interactive CLI Splash**: A modern, futuristic terminal entry screen powered by `rich` and `pyfiglet`.
22
+ - **Background File Watcher**: Support for background daemonization with `dimagx watch --background`.
23
+
24
+ ### Changed
25
+ - Improved `get_context` MCP tool to provide a more concise and structured overview of project status, active features, and recent agentic history.
26
+ - Enhanced `dimagx init` to perform deep symbol and entity scanning during the initial project setup.
27
+
28
+ ---
29
+
30
+ ## [0.1.0] - 2026-05-15
31
+
32
+ ### Added
33
+ - Initial project release.
34
+ - Core graph memory system using **Kuzu DB**.
35
+ - Basic CLI for project initialization (`init`) and status tracking (`status`).
36
+ - Feature management (`dimagx feature start/done/list`).
37
+ - PRD ingestion and AI-powered summarization using Anthropic Claude.
38
+ - File indexing and stack detection.
39
+ - Git history scanning and automated post-commit hook.
40
+ - MCP (Model Context Protocol) server for coding agent integration.
41
+ - Real-time file system watcher.
42
+
43
+ [0.2.0]: https://github.com/shmehdi01/dimagx/compare/v0.1.0...v0.2.0
44
+ [0.1.0]: https://github.com/shmehdi01/dimagx/releases/tag/v0.1.0
dimagx-0.2.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Syed Hussain Mehdi
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.
@@ -0,0 +1,5 @@
1
+ include LICENSE
2
+ include README.md
3
+ include CHANGELOG.md
4
+ include requirements.txt
5
+ recursive-include dimagx/static *
dimagx-0.2.0/PKG-INFO ADDED
@@ -0,0 +1,401 @@
1
+ Metadata-Version: 2.4
2
+ Name: dimagx
3
+ Version: 0.2.0
4
+ Summary: Project brain for coding agents — memory graph for code, prompts, features and PRDs
5
+ Requires-Python: >=3.10
6
+ Description-Content-Type: text/markdown
7
+ License-File: LICENSE
8
+ Requires-Dist: typer>=0.12.0
9
+ Requires-Dist: rich>=13.0.0
10
+ Requires-Dist: kuzu>=0.7.0
11
+ Requires-Dist: gitpython>=3.1.0
12
+ Requires-Dist: mcp>=1.0.0
13
+ Requires-Dist: pyyaml>=6.0
14
+ Requires-Dist: anthropic>=0.25.0
15
+ Requires-Dist: pypdf2>=3.0.0
16
+ Requires-Dist: python-docx>=1.0.0
17
+ Requires-Dist: watchdog>=4.0.0
18
+ Requires-Dist: fastapi>=0.110.0
19
+ Requires-Dist: uvicorn>=0.27.0
20
+ Requires-Dist: jinja2>=3.1.0
21
+ Requires-Dist: tree-sitter>=0.20.0
22
+ Requires-Dist: tree-sitter-languages>=1.7.0
23
+ Requires-Dist: sentence-transformers>=2.2.0
24
+ Requires-Dist: numpy>=1.24.0
25
+ Requires-Dist: pyfiglet>=1.0.2
26
+ Requires-Dist: colorama>=0.4.6
27
+ Dynamic: license-file
28
+
29
+ # DimagX 🧠
30
+
31
+ > **Project brain for coding agents.**
32
+ > One command. Persistent memory. Switch models freely — your agent always knows where you left off.
33
+ >
34
+ > [View Changelog](./CHANGELOG.md) | [Documentation](./docs/architecture.md)
35
+
36
+ ---
37
+
38
+ ## The Problem
39
+
40
+ Every time you start a new coding session, your agent reads your entire codebase from scratch. Switch from Claude to Cursor to GPT-4 — you re-explain everything. Your PRDs, decisions, and context live nowhere.
41
+
42
+ ## The Solution
43
+
44
+ DimagX builds a **persistent memory graph** for your project — code, features, prompts, PRDs, git history, and architectural decisions — and exposes it to any coding agent via MCP.
45
+
46
+ ```
47
+ Without DimagX With DimagX
48
+ ───────────────────── ─────────────────────
49
+ New session → agent reads New session → agent calls
50
+ 50 files, asks you to get_context() → instantly
51
+ re-explain everything oriented, no re-explaining
52
+ ```
53
+
54
+ ---
55
+
56
+ ## How It Works
57
+
58
+ ```
59
+ your-project/
60
+ └── .dimagx/ ← created by dimagx init
61
+ ├── config.yaml ← project identity
62
+ ├── graph.db ← Kuzu embedded graph (gitignored)
63
+ └── prd/ ← drop PRDs here
64
+ ```
65
+
66
+ DimagX indexes your codebase into a graph with 8 node types:
67
+
68
+ ```
69
+ Project → File → Symbol → Feature → Prompt → PRD → Decision → Commit
70
+ ```
71
+
72
+ Your coding agent queries this graph via MCP instead of re-reading everything.
73
+
74
+ ---
75
+
76
+ ## v0.2.0: Semantic Memory & Code Symbols 🚀
77
+
78
+ DimagX now goes deeper than just file names. It understands **what's inside** your code and can search your memory **semantically**.
79
+
80
+ ### 1. Symbol-Level Indexing
81
+ Using **Tree-sitter**, DimagX extracts classes and functions from your code.
82
+ - Filter by `Symbol` nodes in your memory.
83
+ - Instant access to function definitions and class structures.
84
+ - Supported languages: Python, JavaScript, TypeScript, Go, Rust, Java, and more.
85
+
86
+ ### 2. Semantic Search (Embeddings)
87
+ The `query_memory(question)` tool now uses **Vector Embeddings** (`sentence-transformers`).
88
+ - Doesn't rely on keyword matching.
89
+ - Asks "How do I handle auth?" and finds the relevant PRD, File, and Feature even if they don't contain the word "auth".
90
+ - Local execution — no tokens sent to external embedding providers.
91
+
92
+ ---
93
+
94
+ ## Install
95
+
96
+ ### Requirements
97
+ - Python 3.10+
98
+ - pip
99
+
100
+ ### From source
101
+
102
+ ```bash
103
+ git clone https://github.com/yourname/dimagx
104
+ cd dimagx
105
+ pip install -e .
106
+ ```
107
+
108
+ ### Verify
109
+
110
+ ```bash
111
+ dimagx --help
112
+ ```
113
+
114
+ ---
115
+
116
+ ## Quick Start
117
+
118
+ ```bash
119
+ # Go to any project — new or existing
120
+ cd my-project
121
+
122
+ # Initialize DimagX (scans files, git history, builds graph)
123
+ dimagx init
124
+
125
+ # See what's in memory
126
+ dimagx status
127
+
128
+ # See where you left off
129
+ dimagx context
130
+ ```
131
+
132
+ ---
133
+
134
+ ## All Commands
135
+
136
+ ### Project
137
+ ```bash
138
+ dimagx init # Scan project, build memory graph
139
+ dimagx status # Memory dashboard — node counts per layer
140
+ dimagx context # Human summary: features, commits, prompts, PRDs
141
+ ```
142
+
143
+ ### Features
144
+ ```bash
145
+ dimagx feature start "Pricing Engine" # Tag what you're working on
146
+ dimagx feature done "Pricing Engine" # Mark it complete
147
+ dimagx feature list # Show all features + status
148
+ ```
149
+
150
+ ### PRDs
151
+ ```bash
152
+ # Single file (MD, PDF, DOCX, TXT supported)
153
+ dimagx prd ingest ./docs/pricing.md
154
+
155
+ # Bulk — ingest entire folder
156
+ dimagx prd ingest --dir ./docs/prd/
157
+
158
+ # List and inspect
159
+ dimagx prd list
160
+ dimagx prd show "Pricing Engine"
161
+ ```
162
+
163
+ > PRD ingestion requires an Anthropic API key for AI summarization.
164
+ > Set `ANTHROPIC_API_KEY` in your environment.
165
+
166
+ ### Decisions (Architectural Decision Records)
167
+ ```bash
168
+ dimagx decision add # Interactive — prompts for title, context, choice, reason
169
+ dimagx decision list # Show all decisions
170
+ ```
171
+
172
+ ### File Watcher
173
+ ```bash
174
+ dimagx watch # Foreground — auto re-index on file save
175
+ dimagx watch --background # Background daemon
176
+ dimagx watch --stop # Stop background watcher
177
+ ```
178
+
179
+ ### Git Hook
180
+ ```bash
181
+ # Auto-installed on dimagx init if .git exists
182
+ # Manual control:
183
+ dimagx hook install # Install post-commit hook
184
+ dimagx hook uninstall # Remove hook
185
+ ```
186
+
187
+ ### MCP Server
188
+ ```bash
189
+ dimagx mcp # Start MCP server + show agent config
190
+ ```
191
+
192
+ ---
193
+
194
+ ## Connect to Your Coding Agent
195
+
196
+ Add to your agent config and it automatically calls `get_context()` at the start of every session.
197
+
198
+ **Claude Code** — `.claude/mcp.json`
199
+ ```json
200
+ {
201
+ "mcpServers": {
202
+ "dimagx": {
203
+ "command": "dimagx-mcp"
204
+ }
205
+ }
206
+ }
207
+ ```
208
+
209
+ **Cursor / Windsurf** — `.cursor/mcp.json`
210
+ ```json
211
+ {
212
+ "mcpServers": {
213
+ "dimagx": {
214
+ "command": "dimagx-mcp"
215
+ }
216
+ }
217
+ }
218
+ ```
219
+
220
+ ### MCP Tools Available to Your Agent
221
+
222
+ | Tool | When to call | What it returns |
223
+ |---|---|---|
224
+ | `get_context()` | Start of every session | Full project orientation |
225
+ | `query_memory(question)` | Before asking the user anything | Relevant memory nodes |
226
+ | `log_prompt(text, summary, outcome)` | After completing a task | Stores in graph |
227
+ | `add_decision(title, context, choice, reason)` | After an architectural decision | Stored as ADR |
228
+ | `get_features(status?)` | When planning work | Feature list |
229
+ | `get_files(feature?, language?)` | When navigating codebase | Filtered file list |
230
+
231
+ ---
232
+
233
+ ## PRD Ingestion
234
+
235
+ DimagX reads your PRD, summarizes it with AI, extracts features, and links everything in the graph.
236
+
237
+ ```bash
238
+ export ANTHROPIC_API_KEY=sk-ant-...
239
+
240
+ # Single file
241
+ dimagx prd ingest ./docs/auth_prd.md
242
+
243
+ # Bulk folder
244
+ dimagx prd ingest --dir ./docs/prd/
245
+ ```
246
+
247
+ Supported formats: `.md` `.pdf` `.docx` `.txt`
248
+
249
+ Multi-PRD projects are fully supported — each PRD is a separate node linked to its features:
250
+
251
+ ```
252
+ prd_auth → covers → [OTP Login, Session Mgmt, RBAC]
253
+ prd_pricing → covers → [GST Calc, Discount Engine, Charges]
254
+ prd_store → covers → [QR Menu, Cart, Online Payment]
255
+ ```
256
+
257
+ ---
258
+
259
+ ## Daily Workflow
260
+
261
+ ```bash
262
+ cd my-project
263
+
264
+ # Morning — see where you left off
265
+ dimagx context
266
+
267
+ # Start a feature
268
+ dimagx feature start "Online Store"
269
+
270
+ # Start background watcher
271
+ dimagx watch --background
272
+
273
+ # Work normally — files auto-indexed, commits auto-logged
274
+
275
+ # Log a decision
276
+ dimagx decision add
277
+
278
+ # End of day — check memory
279
+ dimagx status
280
+ ```
281
+
282
+ ---
283
+
284
+ ## What Gets Stored Automatically
285
+
286
+ | Layer | Source | How |
287
+ |---|---|---|
288
+ | Files | Codebase | Auto on `init` + `watch` |
289
+ | Git commits | Git history | Auto on `init` + post-commit hook |
290
+ | Features | You | `dimagx feature start` |
291
+ | PRDs | You drop files | `dimagx prd ingest` or auto via `watch` |
292
+ | Prompts | Agent sessions | MCP `log_prompt()` |
293
+ | Decisions | You / agent | `dimagx decision add` / MCP |
294
+
295
+ ---
296
+
297
+ ## Architecture
298
+
299
+ ```
300
+ ┌─────────────────────────────────────────┐
301
+ │ Your Codebase │
302
+ └──────────────┬──────────────────────────┘
303
+ │ dimagx init / watch
304
+
305
+ ┌─────────────────────────────────────────┐
306
+ │ DimagX Memory Graph │
307
+ │ (Kuzu embedded graph DB — .dimagx/) │
308
+ │ │
309
+ │ Project ── File ── Feature │
310
+ │ │ │ │ │
311
+ │ Commit Symbol PRD │
312
+ │ │ │ │
313
+ │ Prompt ── Decision │
314
+ └──────────────┬──────────────────────────┘
315
+ │ MCP (stdio)
316
+
317
+ ┌─────────────────────────────────────────┐
318
+ │ Any Coding Agent │
319
+ │ Claude Code / Cursor / Windsurf / etc │
320
+ └─────────────────────────────────────────┘
321
+ ```
322
+
323
+ ---
324
+
325
+ ## Stack
326
+
327
+ | Component | Library |
328
+ |---|---|
329
+ | Graph DB | [Kuzu](https://kuzudb.com/) — embedded, no server needed |
330
+ | CLI | [Typer](https://typer.tiangolo.com/) + [Rich](https://rich.readthedocs.io/) |
331
+ | Agent protocol | [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk) |
332
+ | File watcher | [Watchdog](https://python-watchdog.readthedocs.io/) |
333
+ | PRD summarization | [Anthropic SDK](https://github.com/anthropics/anthropic-sdk-python) |
334
+ | Code parsing | [Tree-sitter](https://tree-sitter.github.io/tree-sitter/) |
335
+ | Embeddings | [Sentence-Transformers](https://sbert.net/) |
336
+
337
+ ---
338
+
339
+ ## Project Structure
340
+
341
+ ```
342
+ dimagx/
343
+ ├── dimagx/
344
+ │ ├── __init__.py # Package entry
345
+ │ ├── cli.py # All CLI commands
346
+ │ ├── mcp_server.py # MCP server + tools
347
+ │ ├── graph.py # Kuzu schema (7 nodes, 10 relationships)
348
+ │ ├── db.py # DB upsert helpers
349
+ │ ├── scanner.py # Stack detection, file scan, git history
350
+ │ ├── config.py # .dimagx/config.yaml read/write
351
+ │ ├── prd.py # PRD extraction + AI summarization
352
+ │ ├── watcher.py # File system watcher
353
+ │ ├── watcher_daemon.py # Background daemon entry point
354
+ │ ├── githook.py # Git hook installer + commit logger
355
+ │ ├── commit_log.py # Called by post-commit hook
356
+ │ ├── symbols.py # Tree-sitter symbol extraction
357
+ │ └── embeddings.py # Local vector embedding generation
358
+ ├── pyproject.toml
359
+ ├── setup.py
360
+ └── README.md
361
+ ```
362
+
363
+ ---
364
+
365
+ ## Roadmap
366
+
367
+ - [x] Semantic search (embeddings) in `query_memory`
368
+ - [x] Tree-sitter code parsing — function/class level indexing
369
+ - [x] Framework-specific entity extraction (Flutter, React, FastAPI)
370
+ - [x] Bug tracking commands & auto-detection
371
+ - [x] Hierarchical Graph View (`dimagx graph`)
372
+ - [x] `dimagx feature update` — add description post-creation
373
+ - [x] Web UI — browser-based memory explorer
374
+ - [ ] PyPI publish — `pip install dimagx`
375
+ - [ ] VS Code extension
376
+
377
+ ---
378
+
379
+ ## Contributing
380
+
381
+ PRs welcome. Please open an issue first for major changes.
382
+
383
+ ```bash
384
+ git clone https://github.com/yourname/dimagx
385
+ cd dimagx
386
+ pip install -e .
387
+ ```
388
+
389
+ ---
390
+
391
+ ## License
392
+
393
+ MIT — use it, fork it, build on it.
394
+
395
+ ---
396
+
397
+ ## Built by
398
+
399
+ [@syedhussainmehdi](https://github.com/shmehdi01) - SYED HUSSAIN MEHDI.
400
+
401
+ > *"Dimaag" (دماغ) means brain in Urdu/Hindi. DimagX is the brain your coding agent never had.*