> **Important:** This skill provides guidance and recommended instructions to assist the AI system. Outputs are not guaranteed to be complete, correct, secure, or applicable to every scenario. Results should be reviewed and validated by a human before being applied. The AI model may choose not to follow all instructions exactly, and additional verification may be required. # Completeness Check > ⛔ **No build/install/test commands during this check.** Use static analysis only. Verify repository has required components for a deployable app. ### 1. Entry Point Verify main/index file exists for each component. | Stack | Expected Entry Point | |-------|---------------------| | Node.js | `main` or `start` script in `package.json` | | Python | `app.py`, `main.py`, `manage.py`, or entry in `pyproject.toml` | | .NET | `Program.cs` or `Startup.cs` with `Exe` | | Java | Class with `public static void main` or `@SpringBootApplication` | | Go | `main.go` in `package main` | | Static | `index.html` at root or in output folder | | Outcome | Verdict | |---------|---------| | Entry point found and file exists on disk | ✅ PASS | | Ambiguous (multiple candidates) | ⚠️ WARN | | No entry point | ❌ FAIL | | Entry point declared but file missing | ❌ FAIL — `MODULE_NOT_FOUND` | ### 2. Dependency Manifest | Outcome | Verdict | |---------|---------| | Manifest found with dependencies | ✅ PASS | | Manifest exists but empty deps | ⚠️ WARN | | No manifest found | ❌ FAIL (unless static site) | > ⛔ **Oryx reads manifests ONLY at repo root.** Subdirectory manifests → ⚠️ WARN (🔧 Fix): create root wrapper (Python: `-r {subdir}/requirements.txt`, Node: workspaces). Add to batch-then-approve. ### 3. Configuration | Outcome | Verdict | |---------|---------| | Config properly externalized | ✅ PASS | | Hardcoded values but no secrets | ⚠️ WARN | | Hardcoded secrets in source (no env var fallback) | ❌ FAIL | | Env var + hardcoded fallback default | ⚠️ WARN | | `.env` with placeholder values + runtime validation | ✅ PASS | > **Compose file credentials:** Literal `*PASSWORD=` with NO `${VAR}` → ❌ FAIL. `${VAR:-default}` → ⚠️ WARN. `${VAR}` only → ✅ PASS. ⛔ Do NOT downgrade based on filename ("dev-only") — treat every compose file as potentially production-bound. ### 4. Documentation README with build/run instructions → ✅ PASS. Sparse/no README → ⚠️ WARN. ### 5. Listening Port Web apps must bind a port. Detect via `app.listen`, `PORT` env var, framework port config, `WebApplication.CreateBuilder()` (implicit 5000/5001 .NET 6+). | Outcome | Verdict | |---------|---------| | Port binding detected | ✅ PASS | | Non-web (CLI, worker, function) | ✅ PASS — N/A | | Web app with no port binding | ❌ FAIL | ### 6. Static Asset Integrity Parse `href`/`src` from HTML tags. Check relative to HTML file directory. Ignore external URLs. | Outcome | Verdict | |---------|---------| | All referenced assets found | ✅ PASS | | Broken favicon only | ⚠️ WARN | | Broken ``, `