Make an application Uppr-ready.
Uppr works best when every repository exposes the same small set of operational signals. The CLI can write the complete AI implementation brief directly into any project.
1. Generate the integration brief
cd path/to/your-application
uppr dumpThis creates UPPR.md in the current directory. Give that file to your coding agent or use it as the project checklist. To target another directory, run uppr dump ./path.
2. Adopt the project contract
your-app/
├── Dockerfile
├── schema.json
├── config/
│ └── .env
└── data/
└── main.sqliteconfig/.envcontains runtime values and stays out of Git.schema.jsondeclares environment variable names, descriptions, examples, and whether they are required.data/main.sqliteis the conventional primary database; other persistent files also belong underdata/.- The root
Dockerfilemust contain a numericEXPOSEinstruction and listen on0.0.0.0.
/app/config and /app/data. Make application paths work in both local and container execution.3. Describe the environment
{
"variables": [{
"name": "APP_ENV",
"description": "Runtime mode used by the application.",
"example": "production",
"required": true
}]
}Uppr adds missing schema keys to config/.env with blank values and preserves existing values.
4. Validate the container boundary
docker build -t your-app .
docker run --rm -p 3000:3000 \
-v "$PWD/config:/app/config" \
-v "$PWD/data:/app/data" your-appReplace 3000 with the first numeric port in the Dockerfile’s EXPOSE instruction. Confirm durable writes appear under the host data/ directory.
5. Hand it to Uppr
Add the repository to a workspace, pull it, prepare application files, and launch. Uppr derives the port, protects the config and data mounts, and generates the deployment layer.