AI

AI Project Guidance

Keep generated AGENTS.md guidance concise, shared, and aligned with the GoLazy app template.

By Guillermo Alvarez - Published Updated

Generated GoLazy apps include AGENTS.md at the application root. It is the shared guidance file for coding agents and automation. Keep it short enough that every agent can read it before editing, but specific enough that generated apps have one durable source for app conventions.

What AGENTS.md owns

The default file documents the generated app shape:

  • application code under app
  • shared controller behavior in app/controllers/base_controller.go
  • concrete controllers under app/controllers/<name>_controller
  • business services under top-level services
  • views under app/views
  • public assets under app/public
  • the executable entrypoint under cmd/<app-name> or cmd/app
  • application composition under init
  • HTTP integration tests under test
  • optional datasets under datasets/<name>/<service>.dump

It also records GoLazy conventions that agents should not rediscover on every task: initialize shared dependencies through init.Dependencies, register routes only through init.Draw, embed the app base controller in concrete controllers, use Set("name", value) for template data, keep production secrets outside source, and regenerate assets with lazy tailwind or lazy js when their inputs change.

Keep it shared

AGENTS.md is not Codex-specific, Claude-specific, or editor-specific. Put rules there only when they apply to any coding agent working in the app.

Generated apps also include CLAUDE.md as a thin pointer back to AGENTS.md. Use files like that only for tool-specific behavior. Do not duplicate the whole project contract in each tool's file.

Match config files

When the app adds a top-level lazyapp.Config function, keep the convention visible in project guidance and source layout:

lazyapp.Config{
    Dependencies: Dependencies,
    Auth:         Auth,
    OAuth:        OAuth,
    MCP:          RegisterMCP,
}

That shape should produce matching files:

init/dependencies.go
init/auth.go
init/oauth.go
init/mcp.go

This keeps startup behavior discoverable and lets agents find the right file before editing.

Move long workflows into skills

Do not turn AGENTS.md into a full manual. When a repeated workflow needs long instructions, references, scripts, templates, or examples, create a skill:

.skills/<name>/SKILL.md
.skills/<name>/references/
.skills/<name>/scripts/
.skills/<name>/templates/
.skills/<name>/examples/

Then leave one short pointer in AGENTS.md telling agents when to use that skill. Generated apps already do this for the default GoLazy framework skill.