Factory Ready Standard

The single source of truth for launch-ready projects. Every App Factory build must pass these quality gates before deployment.

Quick Reference

1
Build
Required
2
Run
Required
3
Test
Required
4
Validate
Required
5
Package
Required
6
Launch Ready
Required
7
Token Integration
Optional

Gate Details

Gate 1: Build

Verify the project compiles and all dependencies resolve

Pass Criteria

  • npm install exits with code 0
  • npm run build exits with code 0 (if build script exists)
  • No TypeScript errors
  • No missing peer dependencies

Fail Examples

  • Unresolved imports
  • TypeScript type errors
  • Missing required dependencies

Gate 2: Run

Verify the project actually runs

Pass Criteria

  • Server/process starts without crashing
  • Listens on expected port
  • Responds to basic request (health check or root route)

Fail Examples

  • Server crashes on startup
  • Missing environment variables cause crash
  • Infinite loop or hang

Gate 3: Test

Verify basic functionality works

Pass Criteria

  • At least one smoke test documented in TESTING.md
  • Smoke test passes when run against fresh build
  • Expected output documented

Fail Examples

  • No tests documented
  • Tests documented but fail
  • Tests require unavailable external services

Gate 4: Validate

Verify project meets pipeline contract requirements

Pass Criteria

  • Required files present
  • Forbidden files absent (no .env, no node_modules, no secrets)
  • No hardcoded secrets or private keys
  • File size limits respected

Fail Examples

  • Missing required file
  • Forbidden file present (e.g., .env.local committed)
  • Hardcoded API key in source

Gate 5: Package

Prepare for deployment via GitHub import

Pass Criteria

  • Code pushed to GitHub repository
  • Repository is accessible
  • All required files included in commit
  • factory_ready.json present

Fail Examples

  • Repository not pushed to GitHub
  • Committed secrets in repository history
  • Missing required files

Gate 6: Launch Ready

Final human checklist before deployment

Pass Criteria

  • README.md present and accurate
  • RUNBOOK.md with copy-pasteable commands
  • TESTING.md with expected output
  • LAUNCH_CHECKLIST.md with no blocking items
  • FACTORY_IMPORT.md with preparation instructions

Fail Examples

  • Missing documentation file
  • RUNBOOK commands reference nonexistent files
  • Documentation contains TODO placeholders

Gate 7: Token Integration

Optional

Contract address configured (only if opted-in)

Pass Criteria

  • Config variable clearly documented
  • Integration module compiles
  • Dry run mode works without real contract
  • TOKEN_INTEGRATION.md explains post-launch steps

Fail Examples

  • Hardcoded contract address
  • Integration requires real chain connection to build
  • No documentation for where to paste address

Machine-Readable Output

Every pipeline validator produces a factory_ready.json file with gate results.

{
  "version": "1.0",
  "timestamp": "2026-01-13T12:00:00Z",
  "project": {
    "name": "my-app",
    "pipeline": "website-builder",
    "path": "/path/to/project"
  },
  "gates": {
    "build": { "status": "PASS", "details": "npm install and build succeeded" },
    "run": { "status": "PASS", "details": "dev server started on port 3000" },
    "test": { "status": "PASS", "details": "smoke test returned 200" },
    "validate": { "status": "PASS", "details": "all contract requirements met" },
    "package": { "status": "PASS", "details": "ready for GitHub import" },
    "launch_ready": { "status": "PASS", "details": "all docs present" },
    "token_integration": { "status": "SKIP", "details": "not opted in" }
  },
  "overall": "PASS",
  "next_steps": [
    "Push to GitHub",
    "Prepare project metadata",
    "Deploy to production"
  ]
}

Status Values

PASSGate requirements fully met
FAILGate requirements not met (see details)
SKIPGate not applicable (e.g., token integration when not opted in)
WARNGate passed with non-blocking warnings

Common Failure Remediation

Build Failures

npm ERR! peer depRun npm install --legacy-peer-deps or fix versions
Cannot find module XAdd to package.json and reinstall

Run Failures

EADDRINUSEKill process on port or use different port
Missing required envCopy .env.example to .env and fill in values

Validate Failures

Forbidden file presentRemove file, add to .gitignore
Hardcoded secretMove to environment variable

Next Steps