mango-brain 3.2.1__tar.gz → 3.2.3__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.
- {mango_brain-3.2.1 → mango_brain-3.2.3}/PKG-INFO +15 -29
- {mango_brain-3.2.1 → mango_brain-3.2.3}/README.md +14 -28
- {mango_brain-3.2.1 → mango_brain-3.2.3}/mango_brain.egg-info/PKG-INFO +15 -29
- {mango_brain-3.2.1 → mango_brain-3.2.3}/pyproject.toml +1 -1
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/cli.py +15 -2
- {mango_brain-3.2.1 → mango_brain-3.2.3}/mango_brain.egg-info/SOURCES.txt +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/mango_brain.egg-info/dependency_links.txt +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/mango_brain.egg-info/entry_points.txt +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/mango_brain.egg-info/requires.txt +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/mango_brain.egg-info/top_level.txt +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/__init__.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/__main__.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/agents/analyzer.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/agents/executor.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/agents/mem-manager.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/agents/verifier.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/api_routes.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/config.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/dashboard_dist/assets/index-B2dCBdj5.js +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/dashboard_dist/assets/index-C9E5pXFt.css +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/dashboard_dist/favicon.svg +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/dashboard_dist/icons.svg +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/dashboard_dist/index.html +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/database.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/decay.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/embeddings.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/graph.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/jsonl_parser.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/main.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/mangobrain.default.toml +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/mcp_tools.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/models.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/prompts/init/01-doc-base.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/prompts/init/02-code-base.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/prompts/init/03-event-base.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/prompts/init/04-chat-base.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/prompts/init/05-elaborate-base.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/prompts/reference/memory-definition.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/retrieval.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/rules/mangobrain-remember.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/rules/mangobrain-workflow.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/skills/brain-init/SKILL.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/skills/discuss/SKILL.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/skills/elaborate/SKILL.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/skills/health-check/SKILL.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/skills/memorize/SKILL.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/skills/smoke-test/SKILL.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/server/skills/task/SKILL.md +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/setup.cfg +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/tests/test_core.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/tests/test_init.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/tests/test_phase2.py +0 -0
- {mango_brain-3.2.1 → mango_brain-3.2.3}/tests/test_setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mango-brain
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.3
|
|
4
4
|
Summary: The learning layer for Claude Code — persistent associative memory + development workflow. Claude Code gets smarter the longer you use it.
|
|
5
5
|
Author-email: Federico Anastasi <federico.anastasi@outlook.com>
|
|
6
6
|
License: MIT
|
|
@@ -42,6 +42,7 @@ Requires-Dist: scipy>=1.12; extra == "dev"
|
|
|
42
42
|
|
|
43
43
|
<p align="center">
|
|
44
44
|
<a href="https://pypi.org/project/mangobrain/"><img src="https://img.shields.io/pypi/v/mangobrain?style=flat-square&color=7c3aed&label=PyPI" /></a>
|
|
45
|
+
<img src="https://img.shields.io/badge/v3.2.2-7c3aed?style=flat-square" />
|
|
45
46
|
<img src="https://img.shields.io/badge/python-3.11+-blue?style=flat-square&logo=python&logoColor=white" />
|
|
46
47
|
<img src="https://img.shields.io/badge/MCP-compatible-8A2BE2?style=flat-square" />
|
|
47
48
|
<img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" />
|
|
@@ -76,33 +77,18 @@ After 500+ memories across two real projects, session 50 is genuinely better tha
|
|
|
76
77
|
|
|
77
78
|
## How it works
|
|
78
79
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
subgraph agents ["4 specialized agents"]
|
|
84
|
-
direction TB
|
|
85
|
-
ANALYZER["Analyzer\nExplores code + recalls memory"]
|
|
86
|
-
EXECUTOR["Executor\nWrites code — no memory, 100% focused"]
|
|
87
|
-
VERIFIER["Verifier\nQA + checks known issues"]
|
|
88
|
-
MEMMGR["Mem-manager\nCaptures knowledge at close"]
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
TASK --> agents
|
|
92
|
-
MEMMGR -->|saves| MEMORY[("Memory")]
|
|
93
|
-
MEMORY -.->|"recalls"| ANALYZER
|
|
94
|
-
MEMORY -.->|"recalls"| VERIFIER
|
|
95
|
-
MEMORY -->|"next session"| DISCUSS
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**The closed loop:** work produces knowledge, knowledge improves work.
|
|
80
|
+
<p align="center">
|
|
81
|
+
<img src="assets/workflow.svg" alt="MangoBrain Workflow" width="800" />
|
|
82
|
+
</p>
|
|
99
83
|
|
|
100
|
-
|
|
|
101
|
-
|
|
102
|
-
|
|
|
103
|
-
|
|
|
104
|
-
|
|
|
105
|
-
|
|
|
84
|
+
| | What happens | Codebase | Memory |
|
|
85
|
+
|---|---|---|---|
|
|
86
|
+
| **`/discuss`** | You explain the task. Claude explores code, recalls past decisions, brainstorms with full context. Output: `task.md`. | reads | reads |
|
|
87
|
+
| **Analyzer** | Deep analysis of the areas involved. Surfaces gotchas from memory before any code is written. | reads | reads |
|
|
88
|
+
| **Executor** | Writes code — 100% focused on implementation. No memory access by design. | writes | — |
|
|
89
|
+
| **Verifier** | Runs tests, checks quality, recalls known issues from memory before shipping. | reads | reads |
|
|
90
|
+
| **Mem-manager** | Captures decisions, bugs found, patterns learned. Zero effort from you. | — | **writes** |
|
|
91
|
+
| **Next session** | `/discuss` starts with everything the last cycle learned. The loop repeats — each cycle smarter. | | reads |
|
|
106
92
|
|
|
107
93
|
---
|
|
108
94
|
|
|
@@ -111,7 +97,7 @@ flowchart LR
|
|
|
111
97
|
### 1. Install
|
|
112
98
|
|
|
113
99
|
```bash
|
|
114
|
-
pip install
|
|
100
|
+
pip install mango-brain
|
|
115
101
|
```
|
|
116
102
|
|
|
117
103
|
Lightweight install (~50MB). PyTorch and the embedding engine are installed in the next step, optimized for your hardware.
|
|
@@ -142,7 +128,7 @@ Open Claude Code in your project and paste:
|
|
|
142
128
|
Install MangoBrain for this project.
|
|
143
129
|
IMPORTANT: Use Python 3.11 or higher. Check available versions first (python --version,
|
|
144
130
|
py -3.12 --version, python3.12 --version, etc.) and use the correct one for pip install.
|
|
145
|
-
Run: pip install
|
|
131
|
+
Run: pip install mango-brain (using Python >= 3.11's pip)
|
|
146
132
|
Then run: mangobrain install
|
|
147
133
|
Then run: mangobrain serve --api (in background)
|
|
148
134
|
Then tell me to open http://localhost:3101 and to restart Claude Code.
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
<p align="center">
|
|
17
17
|
<a href="https://pypi.org/project/mangobrain/"><img src="https://img.shields.io/pypi/v/mangobrain?style=flat-square&color=7c3aed&label=PyPI" /></a>
|
|
18
|
+
<img src="https://img.shields.io/badge/v3.2.2-7c3aed?style=flat-square" />
|
|
18
19
|
<img src="https://img.shields.io/badge/python-3.11+-blue?style=flat-square&logo=python&logoColor=white" />
|
|
19
20
|
<img src="https://img.shields.io/badge/MCP-compatible-8A2BE2?style=flat-square" />
|
|
20
21
|
<img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" />
|
|
@@ -49,33 +50,18 @@ After 500+ memories across two real projects, session 50 is genuinely better tha
|
|
|
49
50
|
|
|
50
51
|
## How it works
|
|
51
52
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
subgraph agents ["4 specialized agents"]
|
|
57
|
-
direction TB
|
|
58
|
-
ANALYZER["Analyzer\nExplores code + recalls memory"]
|
|
59
|
-
EXECUTOR["Executor\nWrites code — no memory, 100% focused"]
|
|
60
|
-
VERIFIER["Verifier\nQA + checks known issues"]
|
|
61
|
-
MEMMGR["Mem-manager\nCaptures knowledge at close"]
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
TASK --> agents
|
|
65
|
-
MEMMGR -->|saves| MEMORY[("Memory")]
|
|
66
|
-
MEMORY -.->|"recalls"| ANALYZER
|
|
67
|
-
MEMORY -.->|"recalls"| VERIFIER
|
|
68
|
-
MEMORY -->|"next session"| DISCUSS
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
**The closed loop:** work produces knowledge, knowledge improves work.
|
|
53
|
+
<p align="center">
|
|
54
|
+
<img src="assets/workflow.svg" alt="MangoBrain Workflow" width="800" />
|
|
55
|
+
</p>
|
|
72
56
|
|
|
73
|
-
|
|
|
74
|
-
|
|
75
|
-
|
|
|
76
|
-
|
|
|
77
|
-
|
|
|
78
|
-
|
|
|
57
|
+
| | What happens | Codebase | Memory |
|
|
58
|
+
|---|---|---|---|
|
|
59
|
+
| **`/discuss`** | You explain the task. Claude explores code, recalls past decisions, brainstorms with full context. Output: `task.md`. | reads | reads |
|
|
60
|
+
| **Analyzer** | Deep analysis of the areas involved. Surfaces gotchas from memory before any code is written. | reads | reads |
|
|
61
|
+
| **Executor** | Writes code — 100% focused on implementation. No memory access by design. | writes | — |
|
|
62
|
+
| **Verifier** | Runs tests, checks quality, recalls known issues from memory before shipping. | reads | reads |
|
|
63
|
+
| **Mem-manager** | Captures decisions, bugs found, patterns learned. Zero effort from you. | — | **writes** |
|
|
64
|
+
| **Next session** | `/discuss` starts with everything the last cycle learned. The loop repeats — each cycle smarter. | | reads |
|
|
79
65
|
|
|
80
66
|
---
|
|
81
67
|
|
|
@@ -84,7 +70,7 @@ flowchart LR
|
|
|
84
70
|
### 1. Install
|
|
85
71
|
|
|
86
72
|
```bash
|
|
87
|
-
pip install
|
|
73
|
+
pip install mango-brain
|
|
88
74
|
```
|
|
89
75
|
|
|
90
76
|
Lightweight install (~50MB). PyTorch and the embedding engine are installed in the next step, optimized for your hardware.
|
|
@@ -115,7 +101,7 @@ Open Claude Code in your project and paste:
|
|
|
115
101
|
Install MangoBrain for this project.
|
|
116
102
|
IMPORTANT: Use Python 3.11 or higher. Check available versions first (python --version,
|
|
117
103
|
py -3.12 --version, python3.12 --version, etc.) and use the correct one for pip install.
|
|
118
|
-
Run: pip install
|
|
104
|
+
Run: pip install mango-brain (using Python >= 3.11's pip)
|
|
119
105
|
Then run: mangobrain install
|
|
120
106
|
Then run: mangobrain serve --api (in background)
|
|
121
107
|
Then tell me to open http://localhost:3101 and to restart Claude Code.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mango-brain
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.3
|
|
4
4
|
Summary: The learning layer for Claude Code — persistent associative memory + development workflow. Claude Code gets smarter the longer you use it.
|
|
5
5
|
Author-email: Federico Anastasi <federico.anastasi@outlook.com>
|
|
6
6
|
License: MIT
|
|
@@ -42,6 +42,7 @@ Requires-Dist: scipy>=1.12; extra == "dev"
|
|
|
42
42
|
|
|
43
43
|
<p align="center">
|
|
44
44
|
<a href="https://pypi.org/project/mangobrain/"><img src="https://img.shields.io/pypi/v/mangobrain?style=flat-square&color=7c3aed&label=PyPI" /></a>
|
|
45
|
+
<img src="https://img.shields.io/badge/v3.2.2-7c3aed?style=flat-square" />
|
|
45
46
|
<img src="https://img.shields.io/badge/python-3.11+-blue?style=flat-square&logo=python&logoColor=white" />
|
|
46
47
|
<img src="https://img.shields.io/badge/MCP-compatible-8A2BE2?style=flat-square" />
|
|
47
48
|
<img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" />
|
|
@@ -76,33 +77,18 @@ After 500+ memories across two real projects, session 50 is genuinely better tha
|
|
|
76
77
|
|
|
77
78
|
## How it works
|
|
78
79
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
subgraph agents ["4 specialized agents"]
|
|
84
|
-
direction TB
|
|
85
|
-
ANALYZER["Analyzer\nExplores code + recalls memory"]
|
|
86
|
-
EXECUTOR["Executor\nWrites code — no memory, 100% focused"]
|
|
87
|
-
VERIFIER["Verifier\nQA + checks known issues"]
|
|
88
|
-
MEMMGR["Mem-manager\nCaptures knowledge at close"]
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
TASK --> agents
|
|
92
|
-
MEMMGR -->|saves| MEMORY[("Memory")]
|
|
93
|
-
MEMORY -.->|"recalls"| ANALYZER
|
|
94
|
-
MEMORY -.->|"recalls"| VERIFIER
|
|
95
|
-
MEMORY -->|"next session"| DISCUSS
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**The closed loop:** work produces knowledge, knowledge improves work.
|
|
80
|
+
<p align="center">
|
|
81
|
+
<img src="assets/workflow.svg" alt="MangoBrain Workflow" width="800" />
|
|
82
|
+
</p>
|
|
99
83
|
|
|
100
|
-
|
|
|
101
|
-
|
|
102
|
-
|
|
|
103
|
-
|
|
|
104
|
-
|
|
|
105
|
-
|
|
|
84
|
+
| | What happens | Codebase | Memory |
|
|
85
|
+
|---|---|---|---|
|
|
86
|
+
| **`/discuss`** | You explain the task. Claude explores code, recalls past decisions, brainstorms with full context. Output: `task.md`. | reads | reads |
|
|
87
|
+
| **Analyzer** | Deep analysis of the areas involved. Surfaces gotchas from memory before any code is written. | reads | reads |
|
|
88
|
+
| **Executor** | Writes code — 100% focused on implementation. No memory access by design. | writes | — |
|
|
89
|
+
| **Verifier** | Runs tests, checks quality, recalls known issues from memory before shipping. | reads | reads |
|
|
90
|
+
| **Mem-manager** | Captures decisions, bugs found, patterns learned. Zero effort from you. | — | **writes** |
|
|
91
|
+
| **Next session** | `/discuss` starts with everything the last cycle learned. The loop repeats — each cycle smarter. | | reads |
|
|
106
92
|
|
|
107
93
|
---
|
|
108
94
|
|
|
@@ -111,7 +97,7 @@ flowchart LR
|
|
|
111
97
|
### 1. Install
|
|
112
98
|
|
|
113
99
|
```bash
|
|
114
|
-
pip install
|
|
100
|
+
pip install mango-brain
|
|
115
101
|
```
|
|
116
102
|
|
|
117
103
|
Lightweight install (~50MB). PyTorch and the embedding engine are installed in the next step, optimized for your hardware.
|
|
@@ -142,7 +128,7 @@ Open Claude Code in your project and paste:
|
|
|
142
128
|
Install MangoBrain for this project.
|
|
143
129
|
IMPORTANT: Use Python 3.11 or higher. Check available versions first (python --version,
|
|
144
130
|
py -3.12 --version, python3.12 --version, etc.) and use the correct one for pip install.
|
|
145
|
-
Run: pip install
|
|
131
|
+
Run: pip install mango-brain (using Python >= 3.11's pip)
|
|
146
132
|
Then run: mangobrain install
|
|
147
133
|
Then run: mangobrain serve --api (in background)
|
|
148
134
|
Then tell me to open http://localhost:3101 and to restart Claude Code.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "mango-brain"
|
|
7
|
-
version = "3.2.
|
|
7
|
+
version = "3.2.3"
|
|
8
8
|
description = "The learning layer for Claude Code — persistent associative memory + development workflow. Claude Code gets smarter the longer you use it."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
@@ -445,10 +445,23 @@ def _setup_mcp_json(project_path: Path) -> None:
|
|
|
445
445
|
|
|
446
446
|
|
|
447
447
|
def _patch_claude_md(project_path: Path, project_name: str) -> None:
|
|
448
|
-
"""Add MangoBrain section to project's CLAUDE.md if not already present.
|
|
449
|
-
|
|
448
|
+
"""Add MangoBrain section to project's CLAUDE.md if not already present.
|
|
449
|
+
|
|
450
|
+
Searches for CLAUDE.md in order: .claude/CLAUDE.md, then root CLAUDE.md.
|
|
451
|
+
Patches whichever is found first. Creates root CLAUDE.md only if neither exists.
|
|
452
|
+
"""
|
|
453
|
+
claude_md_inner = project_path / ".claude" / "CLAUDE.md"
|
|
454
|
+
claude_md_root = project_path / "CLAUDE.md"
|
|
450
455
|
marker = "## MangoBrain"
|
|
451
456
|
|
|
457
|
+
# Find existing CLAUDE.md — prefer .claude/ over root
|
|
458
|
+
if claude_md_inner.exists():
|
|
459
|
+
claude_md = claude_md_inner
|
|
460
|
+
elif claude_md_root.exists():
|
|
461
|
+
claude_md = claude_md_root
|
|
462
|
+
else:
|
|
463
|
+
claude_md = claude_md_root # Create at root if neither exists
|
|
464
|
+
|
|
452
465
|
if claude_md.exists():
|
|
453
466
|
content = claude_md.read_text(encoding="utf-8")
|
|
454
467
|
if marker in content:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|