Skip to content

Developer flow

01 scaffold-smoke — the full developer loop

Section titled “01 scaffold-smoke — the full developer loop”

Proves create → gen → build → test runs end to end and still holds after adding a second API. This is a scaffold transport smoke test; checking that create replaces the placeholder does not authorize committing or baking the resulting usable secret into an image.

Terminal window
gortexa create myapp --module github.com/me/myapp
cd myapp
make gen # buf lint → breaking → generate
go build ./... && go test ./...
gortexa gen shop/v1 Product # add a second API
make gen && go build ./... && go test ./...

Key assertions: proto/shop/v1/product.proto and internal/logic/product.go are generated, cmd/server/main.go is wired for product, and finding dev-only-insecure-secret-change-me-please in etc/config.yaml fails the run. That only proves local startup; before Git or Docker, move to external secret injection and replace the in-memory logic with a real data layer.

02 multi-protocol-e2e — one entity across three protocols

Section titled “02 multi-protocol-e2e — one entity across three protocols”

On a single h2c port (:18080), an entity created over gRPC is fetchable over HTTP, and one created over MCP shows up in the list — all three share one store. $TOK is a dev token, $SCHEMA is the descriptor from buf build.

Create over gRPC:

Terminal window
buf curl --protocol grpc --http2-prior-knowledge --schema $SCHEMA \
-H "authorization: Bearer $TOK" \
-d '{"resource":{"name":"grpc-entity","owner":"owner-e2e"}}' \
http://localhost:18080/resource.v1.ResourceService/CreateResource

Fetch the same id over the HTTP gateway, then create a third over MCP tools/call:

Terminal window
curl -H "authorization: Bearer $TOK" http://localhost:18080/v1/resources/$RID # 200, same entity
curl -XPOST http://localhost:18080/mcp -H 'Content-Type: application/json' \
-H "authorization: Bearer $TOK" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{"name":"create_resource",
"arguments":{"resource":{"name":"mcp-entity","owner":"owner-e2e"}}}}'

Listing owner-e2e at the end shows the entities created over gRPC, HTTP and MCP together — proof the three surfaces sit on one store.