Generate a fake server for interactively exploring routes. Creates an httptest server with a counterfeiter fake implementation of the receiver interface.
WARNING: The generated fake interface is unstable and should not be relied upon. This command is intended for exploratory use only.
muxt generate-fake-server path/to/packageGenerates two files:
<output>/main.go— Entry point that creates the fake receiver, wires routes, and starts an httptest server<output>/internal/fake/receiver.go— Counterfeiter-generated fake struct with*Returns()and*CallCount()methods
Default output directory: ./cmd/explore-goland/
| Flag | Type | Default | Description |
|---|---|---|---|
--output, -o |
string | ./cmd/explore-goland |
Output directory for the generated files. |
Positional arguments are target package directories (relative or absolute). Multiple packages are supported. If no arguments are given, uses the working directory.
# Single package
muxt generate-fake-server hypertext
# Multiple packages
muxt generate-fake-server hypertext admin
# Working directory
muxt generate-fake-server
# Custom output
muxt generate-fake-server hypertext --output ./cmd/my-explorermuxt generate-fake-server path/to/packageEdit main.go to configure return values on the fake receiver:
receiver := new(fake.RoutesReceiver)
receiver.ListArticlesReturns([]hypertext.Article{
{ID: 1, Title: "First Post", Body: "Hello world"},
{ID: 2, Title: "Second Post", Body: "Another article"},
}, nil)go run ./cmd/explore-goland/The server prints Explore at: http://127.0.0.1:<port> and waits for Ctrl-C.
Use Chrome DevTools MCP to explore the rendered pages:
navigate_page({"url": "http://127.0.0.1:<port>/"})
take_snapshot({})
take_screenshot({})
- The target package must be a library (not
package main) - The target package must have a muxt-generated file (created by
muxt generate)
- muxt generate — Generate handlers from templates
- muxt explore-module — Discover all muxt packages in the module
- Explore — Full exploration workflow (pick an entry point: route, method, error, or fresh repo)