feat/mcp-image-gen/generate-image-name-count
- Add name (str) param: filename prefix saved as {name}_{timestamp}_{seed}.png
- Add count (int, 1-10) param: generate N images in one call
- Extract _sanitize_name() helper: strips special chars, collapses underscores, caps at 64 chars
- Extract _build_filename() helper: pure function for testable filename construction
- Extract _generate_single() coroutine: clean loop body for batch generation
- Fixed seed batches increment seed per image (seed+i-1) for deterministic variation
- random seed (-1) batches give independent random seeds per image
- Partial batch failures continue (error TextContent in slot, remaining images proceed)
- Returns flat interleaved [Text1, Image1, Text2, Image2, ...] list
- 34/34 tests passing (was 19, added 15 new tests)
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.
See 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)
📖 Wiki
Full documentation lives in the Gitea wiki.
Wiki source: docs/wiki/pages/ — edit here, deploy with:
./docs/wiki/deploy_wiki.sh
� MCP Servers (mcp/)
| Server | Description | Stack |
|---|---|---|
mcp/bigmind/ |
Persistent AI memory — sessions, facts, hypotheses, profile UI | Python, FastMCP, SQLite, Flask |
mcp/webscraper/ |
Web scraping, search — fetch, links, tables, Brave Search | Python, FastMCP, httpx, BeautifulSoup |
mcp/mcp-image-gen/ |
AI image generation — text-to-image via ComfyUI + FLUX.1-schnell | Python, FastMCP, httpx, ComfyUI |
Run a server:
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/ |
MSS Failsafe — multi-module Java EE web application | Java EE, Maven, WildFly |
java/wellmann-shop/ |
Wellmann online shop — JSF/PrimeFaces e-commerce | Java 8, JSF, PrimeFaces, EclipseLink, MySQL |
Build a project:
cd java/wellmann-shop
mvn clean package
📐 Plans & Architecture (plans/)
| Document | Description |
|---|---|
plans/REPO_STRATEGY.md |
Monorepo strategy, taxonomy, naming conventions, migration log |
🔧 IDE Wiring
MCP servers are wired into VS Code via .roo/mcp.json.
BigMind memory DB lives at ~/.mcp/bigmind/memory.db (outside the repo — not committed).
License
MIT — personal homelab use.
Description
Languages
Java
33%
HTML
32.7%
Python
24.7%
TypeScript
3.8%
CSS
3.8%
Other
2%