chore: reorganize into polyglot monorepo (workshop)

- Move bigmind/ -> mcp/bigmind/
- Move webscraper/ -> mcp/webscraper/
- Move mss-failsafe/ -> java/mss-failsafe/
- Move Wellmann-Shop/ -> java/wellmann-shop/ (normalize to kebab-case)
- Add .roo/ IDE config files to tracking
- Add plans/REPO_STRATEGY.md (monorepo strategy document)
- Expand .gitignore: Java/Maven, Node/TS, coverage, uv.lock
- Rewrite README.md as navigation index
- Update .roo/mcp.json webscraper path to mcp/webscraper/
This commit is contained in:
Patrick Plate
2026-04-04 08:51:15 +02:00
parent 4167e15ed9
commit 155d56e8e8
1598 changed files with 19429 additions and 23 deletions
+58 -17
View File
@@ -1,30 +1,71 @@
# pi_mcps — Homelab MCP Servers Monorepo
# Workshop — Patrick's Homelab Monorepo
This repository contains all MCP (Model Context Protocol) servers for Patrick's homelab setup on Fedora + TrueNAS.local.
A polyglot monorepo for personal engineering projects: MCP servers, Java web apps, and whatever comes next. Hosted on [Gitea @ TrueNAS.local](http://192.168.188.119:30008/pplate/pi_mcps).
## Structure
See [`plans/REPO_STRATEGY.md`](plans/REPO_STRATEGY.md) for the full structure rationale and conventions.
- `bigmind/` — BigMind persistent memory MCP server (SQLite, FastMCP, web profile UI)
- `webscraper/` — Web scraping MCP server (httpx + BeautifulSoup + html2text)
- [future servers...]
---
## Build & Run
## 📂 Structure
Each subdirectory is a standalone Python package with its own `pyproject.toml` and `run.sh`.
```bash
cd bigmind # or webscraper/
./run.sh # uv sync && uv run src/server.py
```
workshop/
├── mcp/ Python MCP servers (FastMCP + uv)
├── java/ Java web projects (Maven + Jakarta EE)
├── plans/ Architecture & strategy docs
└── .roo/ IDE config (Roo Code, MCP wiring)
```
## MCP Config
---
Wired into IDEs via `.roo/mcp.json` (VS Code) and equivalent configs in IntelliJ/PyCharm.
## 🐍 MCP Servers (`mcp/`)
## Gitea
| Server | Description | Stack |
|---|---|---|
| [`mcp/bigmind/`](mcp/bigmind/) | Persistent AI memory — sessions, facts, hypotheses, profile UI | Python, FastMCP, SQLite, Flask |
| [`mcp/webscraper/`](mcp/webscraper/) | Web scraping — fetch, links, tables, sections, sitemaps | Python, FastMCP, httpx, BeautifulSoup |
Hosted at http://192.168.188.119:30008/pplate/pi_mcps
**Run a server:**
```bash
cd mcp/bigmind # or mcp/webscraper
./run.sh
```
Each server is an independent Python package. `uv sync` handles dependencies, no shared virtualenv.
---
## ☕ Java Projects (`java/`)
| Project | Description | Stack |
|---|---|---|
| [`java/mss-failsafe/`](java/mss-failsafe/) | MSS Failsafe — multi-module Java EE web application | Java EE, Maven, WildFly |
| [`java/wellmann-shop/`](java/wellmann-shop/) | Wellmann online shop — JSF/PrimeFaces e-commerce | Java 8, JSF, PrimeFaces, EclipseLink, MySQL |
**Build a project:**
```bash
cd java/wellmann-shop
mvn clean package
```
---
## 📐 Plans & Architecture (`plans/`)
| Document | Description |
|---|---|
| [`plans/REPO_STRATEGY.md`](plans/REPO_STRATEGY.md) | Monorepo strategy, taxonomy, naming conventions, migration log |
---
## 🔧 IDE Wiring
MCP servers are wired into VS Code via [`.roo/mcp.json`](.roo/mcp.json).
BigMind memory DB lives at `~/.mcp/bigmind/memory.db` (outside the repo — not committed).
---
## License
MIT — personal homelab use.
MIT — personal homelab use.