Final objective
Someone gets reading-list, understands expected variables, installs runtime, checks the project, and runs it without receiving your .env or editing a generated file.
1 — Prepare the example
# .env.example
APP_ENV=development
APP_DEBUG=false
APP_URL=http://127.0.0.1:8910
APP_KEY=
DATABASE_DSN=sqlite:runtime/storage/database.sqlite
DATABASE_USER=root
DATABASE_PASSWORD=Check that .gitignore contains .env and runtime/. The example documents expected shape without real secrets.
2 — Recreate the installation
aml env:init
aml install
aml doctor
aml serveConfirm the app works. Look at the runtime/config/app.php header only to recognize the generated file; do not edit it.
3 — Compare contexts
Code under src remains identical. Only environment values change. Restore APP_DEBUG=false after testing.
Final diagnosis
aml test
aml doctor --productionThe check deliberately fails while the URL is not HTTPS, the key is too short, or cache is absent. Every result indicates a concrete action.
SUMMARY
What to remember
- The repository shares phpaml.json and .env.example.
- Every installation creates its own .env.
- AML generates runtime/config/app.php.
- Debug helps locally but stays off publicly.
- doctor --production checks requirements.