# Workshop — Patrick's Homelab Monorepo

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).

See [`plans/REPO_STRATEGY.md`](plans/REPO_STRATEGY.md) for the full structure rationale and conventions.

---

## 📂 Structure

```
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 Servers (`mcp/`)

| 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 |

**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.
