No description
Find a file
2026-04-23 00:46:35 +02:00
docs/superpowers/plans docs: update l4d2 plans for blueprint architecture 2026-04-23 00:41:12 +02:00
AGENTS.md docs: add README and AGENTS project guidance 2026-04-23 00:46:35 +02:00
README.md docs: add README and AGENTS project guidance 2026-04-23 00:46:35 +02:00

left4me

left4me is a local L4D2 server management platform with two planned components:

  1. l4d2host + l4d2ctl (host library + CLI)
  2. l4d2-web-app (Flask web app for users, blueprints, servers, jobs, and logs)

Status

This repository is currently in planning phase. Implementation plans are the source of truth:

  • docs/superpowers/plans/2026-04-22-l4d2-host-lib-v1.md
  • docs/superpowers/plans/2026-04-23-l4d2-web-app-v1.md

Locked v1 Decisions

  • Naming is strictly l4d2 (not l4d).
  • Host library and web app are separate components.
  • Host CLI commands are fixed to:
    • install
    • initialize <name> -f <spec.yaml>
    • start <name>
    • stop <name>
    • delete <name>
  • Runtime paths are hard-coded under /opt/l4d2.
  • Overlay handling is directory-based and externally populated.
  • No lock manager, no rollback, no preflight checks in host library.
  • CLI propagates subprocess failures via stderr and return code.
  • delete on missing instance is no-op success.
  • Blueprint model (web app):
    • user-private in v1
    • servers are live-linked to blueprint
    • no per-server overrides
    • delete blueprint blocked when linked servers exist
    • blueprint changes apply on next action
    • server can reassign blueprint anytime

Planned Repository Layout

  • components/l4d2-host-lib/
  • components/l4d2-web-app/
  • docs/superpowers/plans/

Tech Stack (planned)

  • Python 3.12+
  • Typer, PyYAML, pytest
  • Flask, SQLAlchemy, Alembic
  • HTMX (vendored locally), custom CSS, SSE
  • systemd user units, fuse-overlayfs, steamcmd
  1. Implement components/l4d2-host-lib plan first.
  2. Implement components/l4d2-web-app plan second.
  3. Keep tests green task-by-task (TDD flow from plans).
  4. Keep commits small and aligned with plan tasks.

Contributing Notes

  • Follow plan task order unless explicitly re-planned.
  • Keep contracts above unchanged unless the user asks to change them.
  • Update plan docs when scope or behavior changes.