# engineering-memory-bank
**AI-Powered Engineering Decision Documentation System**
An intelligent system for automatically capturing, organizing, and analyzing engineering design decisions with git integration. Transforms scattered documentation into structured knowledge that improves with every project.
## ๐ Key Features
- **๐ง Automatic Decision Capture**: Git hooks automatically document design decisions
- **๐ค AI-Powered Analysis**: Claude integration for decision insights and recommendations
- **๐ Cross-Project Learning**: Knowledge sharing between projects and teams
- **โฐ Timeline Reconstruction**: Automatic timeline of design decisions
- **๐ Decision Search**: Find relevant decisions across project history
- **๐ Template System**: Structured documentation templates
- **๐ Git Integration**: Seamless integration with existing development workflows
## ๐ vs. Existing Solutions
| Feature | engineering-memory-bank | Traditional Docs | Engineering Notebooks |
|---------|-------------|------------------|----------------------|
| **Automatic Capture** | โ
Git hooks | โ Manual | โ Manual |
| **AI Analysis** | โ
Claude integration | โ None | โ Limited |
| **Cross-Project** | โ
Knowledge sharing | โ Isolated | โ Isolated |
| **Timeline Tracking** | โ
Automatic | โ Manual | โ ๏ธ Basic |
| **Decision Search** | โ
Intelligent | โ ๏ธ Text search | โ ๏ธ Basic |
| **Version Control** | โ
Native git | โ ๏ธ External | โ Poor |
## ๐ฆ Installation
```bash
# Install from PyPI (coming soon)
pip install engineering-memory-bank
# Or install from source
git clone https://github.com/circuit-synth/engineering-memory-bank.git
cd engineering-memory-bank
pip install -e .
```
## ๐ฏ Quick Start
### Initialize in Project
```bash
# Initialize memory-bank in your project
cd my_engineering_project
memory-bank init
# Configure git hooks (automatic)
memory-bank setup-hooks
```
### Automatic Decision Capture
```bash
# Make changes and commit - decisions automatically captured
git add power_supply.py
git commit -m "Switch to buck converter for 90% efficiency vs 60% with linear reg"
# Memory bank automatically captures:
# - What changed (component selection)
# - Why it changed (efficiency improvement)
# - Context (power supply design)
# - Alternatives considered (linear regulator)
```
### Manual Decision Logging
```python
import engineering_memory_bank as emb
# Log design decisions programmatically
bank = emb.MemoryBank.current_project()
bank.log_decision(
category='component_selection',
decision='Selected STM32F407 over STM32F405',
rationale='Need USB OTG and Ethernet for full feature set',
alternatives=['STM32F405', 'STM32H7 series'],
impact='high',
tags=['mcu', 'connectivity', 'performance']
)
# Log test results
bank.log_test_result(
test='power_consumption',
result={'idle': '50mA', 'active': '120mA'},
meets_spec=True,
notes='Under 150mA budget with margin'
)
```
### AI-Powered Analysis
```python
# Get AI insights on decisions
insights = bank.analyze_decisions()
print(f"Decision confidence: {insights.confidence_score}")
print(f"Potential issues: {insights.risk_factors}")
# Get recommendations for current project
recommendations = bank.get_ai_recommendations()
for rec in recommendations:
print(f"Recommendation: {rec.suggestion}")
print(f"Based on: {rec.similar_projects}")
# Cross-project learning
similar = bank.find_similar_decisions(
'microcontroller selection',
across_projects=True
)
```
### Decision Management
```python
# Search decision history
power_decisions = bank.search_decisions('power supply')
recent_decisions = bank.get_recent_decisions(days=30)
# Timeline analysis
timeline = bank.get_decision_timeline()
milestones = bank.get_project_milestones()
# Export and reporting
report = bank.generate_decision_report()
bank.export_decisions('project_decisions.json')
```
## ๐๏ธ Architecture
```
memory-bank/
โโโ python/ # Core Python library
โ โโโ memory_bank/
โ โ โโโ core/ # Core decision engine
โ โ โโโ ai/ # AI integration (Claude, etc.)
โ โ โโโ git/ # Git hooks and integration
โ โ โโโ templates/ # Documentation templates
โ โ โโโ analysis/ # Decision analysis
โ โ โโโ utils/ # Utilities
โ โโโ tests/ # Test suite
โโโ templates/ # Project templates
โโโ examples/ # Usage examples
```
## ๐งช Use Cases
### **Electronics Design**
- Component selection rationale
- Power supply design decisions
- Layout and routing choices
- Test results and validation
### **Software Development**
- Architecture decisions
- Library/framework choices
- Performance optimization decisions
- Security design choices
### **Mechanical Engineering**
- Material selection rationale
- Manufacturing process decisions
- Design constraint trade-offs
- Testing and validation results
### **Research Projects**
- Experimental design decisions
- Parameter selection rationale
- Result interpretation
- Future work planning
## ๐ค Contributing
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
## ๐ License
MIT License - see [LICENSE](LICENSE) for details.
---
**Built with โค๏ธ by the Circuit-Synth team**
Raw data
{
"_id": null,
"home_page": null,
"name": "engineering-memory-bank",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Circuit-Synth <info@circuit-synth.com>",
"keywords": "engineering, documentation, ai, git, decisions, knowledge-management, automation, mcp, claude",
"author": null,
"author_email": "Circuit-Synth <info@circuit-synth.com>",
"download_url": "https://files.pythonhosted.org/packages/fb/90/d809891d01fd3fe0843e9d00c1212b164deb80e94a9fc8d2468421c6dd43/engineering_memory_bank-0.0.1.tar.gz",
"platform": null,
"description": "# engineering-memory-bank\n\n**AI-Powered Engineering Decision Documentation System**\n\nAn intelligent system for automatically capturing, organizing, and analyzing engineering design decisions with git integration. Transforms scattered documentation into structured knowledge that improves with every project.\n\n## \ud83d\ude80 Key Features\n\n- **\ud83e\udde0 Automatic Decision Capture**: Git hooks automatically document design decisions\n- **\ud83e\udd16 AI-Powered Analysis**: Claude integration for decision insights and recommendations\n- **\ud83d\udcca Cross-Project Learning**: Knowledge sharing between projects and teams\n- **\u23f0 Timeline Reconstruction**: Automatic timeline of design decisions\n- **\ud83d\udd0d Decision Search**: Find relevant decisions across project history\n- **\ud83d\udccb Template System**: Structured documentation templates\n- **\ud83d\udd17 Git Integration**: Seamless integration with existing development workflows\n\n## \ud83c\udd9a vs. Existing Solutions\n\n| Feature | engineering-memory-bank | Traditional Docs | Engineering Notebooks |\n|---------|-------------|------------------|----------------------|\n| **Automatic Capture** | \u2705 Git hooks | \u274c Manual | \u274c Manual |\n| **AI Analysis** | \u2705 Claude integration | \u274c None | \u274c Limited |\n| **Cross-Project** | \u2705 Knowledge sharing | \u274c Isolated | \u274c Isolated |\n| **Timeline Tracking** | \u2705 Automatic | \u274c Manual | \u26a0\ufe0f Basic |\n| **Decision Search** | \u2705 Intelligent | \u26a0\ufe0f Text search | \u26a0\ufe0f Basic |\n| **Version Control** | \u2705 Native git | \u26a0\ufe0f External | \u274c Poor |\n\n## \ud83d\udce6 Installation\n\n```bash\n# Install from PyPI (coming soon)\npip install engineering-memory-bank\n\n# Or install from source\ngit clone https://github.com/circuit-synth/engineering-memory-bank.git\ncd engineering-memory-bank\npip install -e .\n```\n\n## \ud83c\udfaf Quick Start\n\n### Initialize in Project\n\n```bash\n# Initialize memory-bank in your project\ncd my_engineering_project\nmemory-bank init\n\n# Configure git hooks (automatic)\nmemory-bank setup-hooks\n```\n\n### Automatic Decision Capture\n\n```bash\n# Make changes and commit - decisions automatically captured\ngit add power_supply.py\ngit commit -m \"Switch to buck converter for 90% efficiency vs 60% with linear reg\"\n\n# Memory bank automatically captures:\n# - What changed (component selection)\n# - Why it changed (efficiency improvement)\n# - Context (power supply design)\n# - Alternatives considered (linear regulator)\n```\n\n### Manual Decision Logging\n\n```python\nimport engineering_memory_bank as emb\n\n# Log design decisions programmatically\nbank = emb.MemoryBank.current_project()\n\nbank.log_decision(\n category='component_selection',\n decision='Selected STM32F407 over STM32F405',\n rationale='Need USB OTG and Ethernet for full feature set',\n alternatives=['STM32F405', 'STM32H7 series'],\n impact='high',\n tags=['mcu', 'connectivity', 'performance']\n)\n\n# Log test results\nbank.log_test_result(\n test='power_consumption',\n result={'idle': '50mA', 'active': '120mA'},\n meets_spec=True,\n notes='Under 150mA budget with margin'\n)\n```\n\n### AI-Powered Analysis\n\n```python\n# Get AI insights on decisions\ninsights = bank.analyze_decisions()\nprint(f\"Decision confidence: {insights.confidence_score}\")\nprint(f\"Potential issues: {insights.risk_factors}\")\n\n# Get recommendations for current project\nrecommendations = bank.get_ai_recommendations()\nfor rec in recommendations:\n print(f\"Recommendation: {rec.suggestion}\")\n print(f\"Based on: {rec.similar_projects}\")\n\n# Cross-project learning\nsimilar = bank.find_similar_decisions(\n 'microcontroller selection',\n across_projects=True\n)\n```\n\n### Decision Management\n\n```python\n# Search decision history\npower_decisions = bank.search_decisions('power supply')\nrecent_decisions = bank.get_recent_decisions(days=30)\n\n# Timeline analysis\ntimeline = bank.get_decision_timeline()\nmilestones = bank.get_project_milestones()\n\n# Export and reporting\nreport = bank.generate_decision_report()\nbank.export_decisions('project_decisions.json')\n```\n\n## \ud83c\udfd7\ufe0f Architecture\n\n```\nmemory-bank/\n\u251c\u2500\u2500 python/ # Core Python library\n\u2502 \u251c\u2500\u2500 memory_bank/\n\u2502 \u2502 \u251c\u2500\u2500 core/ # Core decision engine\n\u2502 \u2502 \u251c\u2500\u2500 ai/ # AI integration (Claude, etc.)\n\u2502 \u2502 \u251c\u2500\u2500 git/ # Git hooks and integration\n\u2502 \u2502 \u251c\u2500\u2500 templates/ # Documentation templates\n\u2502 \u2502 \u251c\u2500\u2500 analysis/ # Decision analysis\n\u2502 \u2502 \u2514\u2500\u2500 utils/ # Utilities\n\u2502 \u2514\u2500\u2500 tests/ # Test suite\n\u251c\u2500\u2500 templates/ # Project templates\n\u2514\u2500\u2500 examples/ # Usage examples\n```\n\n## \ud83e\uddea Use Cases\n\n### **Electronics Design**\n- Component selection rationale\n- Power supply design decisions \n- Layout and routing choices\n- Test results and validation\n\n### **Software Development**\n- Architecture decisions\n- Library/framework choices\n- Performance optimization decisions\n- Security design choices\n\n### **Mechanical Engineering**\n- Material selection rationale\n- Manufacturing process decisions\n- Design constraint trade-offs\n- Testing and validation results\n\n### **Research Projects**\n- Experimental design decisions\n- Parameter selection rationale\n- Result interpretation\n- Future work planning\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## \ud83d\udcc4 License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n---\n\n**Built with \u2764\ufe0f by the Circuit-Synth team**\n",
"bugtrack_url": null,
"license": null,
"summary": "AI-powered engineering decision documentation system with automatic git integration",
"version": "0.0.1",
"project_urls": {
"Bug Reports": "https://github.com/circuit-synth/engineering-memory-bank/issues",
"Changelog": "https://github.com/circuit-synth/engineering-memory-bank/blob/main/CHANGELOG.md",
"Documentation": "https://circuit-synth.github.io/engineering-memory-bank/",
"Homepage": "https://github.com/circuit-synth/engineering-memory-bank",
"Repository": "https://github.com/circuit-synth/engineering-memory-bank.git"
},
"split_keywords": [
"engineering",
" documentation",
" ai",
" git",
" decisions",
" knowledge-management",
" automation",
" mcp",
" claude"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "11d39b80816204faf47d8118da12b0ed818bc0f4fca0aac5a4202b8775e703ea",
"md5": "ef8cb96a64353718ce416af11d02be38",
"sha256": "a9d532a7000313b66d5783f35faf040b851c17cae560ec9bfa6a12b655eff6ad"
},
"downloads": -1,
"filename": "engineering_memory_bank-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ef8cb96a64353718ce416af11d02be38",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 24316,
"upload_time": "2025-08-14T02:00:47",
"upload_time_iso_8601": "2025-08-14T02:00:47.565091Z",
"url": "https://files.pythonhosted.org/packages/11/d3/9b80816204faf47d8118da12b0ed818bc0f4fca0aac5a4202b8775e703ea/engineering_memory_bank-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fb90d809891d01fd3fe0843e9d00c1212b164deb80e94a9fc8d2468421c6dd43",
"md5": "fe0cf61d58bf11aac8252a8a4d4d1de5",
"sha256": "2b9e2e3e76e7e9738fb30596e004204f2a77a7aba2cd5ae54b92ccf9a46a9534"
},
"downloads": -1,
"filename": "engineering_memory_bank-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "fe0cf61d58bf11aac8252a8a4d4d1de5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 21350,
"upload_time": "2025-08-14T02:00:48",
"upload_time_iso_8601": "2025-08-14T02:00:48.696034Z",
"url": "https://files.pythonhosted.org/packages/fb/90/d809891d01fd3fe0843e9d00c1212b164deb80e94a9fc8d2468421c6dd43/engineering_memory_bank-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-14 02:00:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "circuit-synth",
"github_project": "engineering-memory-bank",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "engineering-memory-bank"
}