Files
mal/cmd

cmd

Executable entrypoints live here.

  • cmd/server: main web process (go run ./cmd/server)
  • cmd/create-user: admin CLI for adding login users (go run ./cmd/create-user --email user@example.com --password-stdin)

Why this structure

I wanted to keep the repository root clean and focused on project metadata like README.md, go.mod, and Dockerfile. Keeping entrypoints under cmd/ also makes it easy to add more binaries later without cluttering the root, and it matches standard Go conventions for projects that grow beyond a single binary.