Update SOPs: consolidate index, clean client data, set Imagen as default

- README: rewrite index to reflect actual files (STACK/CONTENT/OPTIMIZATION);
  remove 15 dead links to old numbered SOPs; add subdirectory table; update
  image gen to Google Imagen as default
- STACK: fix wp-divi-pipeline script paths; genericize vibrantyou/domain
  examples; strip pre-existing em dashes throughout
- CONTENT: update image generation default to Google Imagen API with allotted quota
- image-gen-workflow: remove client-specific cobhamtech data; generalize
  brand palette step; update date
- wp-divi-pipeline-to-am-stack: remove vibrantyou.yoga client data block;
  fix Related SOPs links to current files
This commit is contained in:
2026-06-09 18:54:57 +02:00
parent 94f7a1f72a
commit 5eb4426d30
7 changed files with 190 additions and 251 deletions
+46 -60
View File
@@ -1,95 +1,81 @@
# Arising Media Web Design SOPs
# Arising Media Web Design SOPs
Standard operating procedures for building, migrating, and deploying websites
the Arising Media way. Reference `stack-selector.json` FIRST to pick the correct
stack before touching any other SOP.
Standard operating procedures for building, migrating, and deploying websites the Arising Media way. Reference `stack-selector.json` FIRST to pick the correct stack before touching any other SOP.
## Stack selector (read this first)
`stack-selector.json` machine-readable + human-readable decision guide.
Covers all three stacks, approved colors, section types, DB guidance, hot-copy commands.
`stack-selector.json`: machine-readable + human-readable decision guide. Covers all three stacks, approved colors, section types, DB guidance, hot-copy commands.
## Two primary stacks (2026-05-21 standard)
## Primary SOP files
### Stack A — PHP Router + SQLite (50+ page sites)
**Reference: `arisingmedia.us`** — 10,000+ pages, single router, SQLite content DB.
Edit one template → all pages in that class update instantly. No find-and-replace.
Architecture diagram: `arisingmedia.us/.planning/RENDER_ARCHITECTURE.html`
| File | Covers |
|------|--------|
| `STACK.md` | Architecture, project structure, build pipeline, WP migration, Docker/nginx deployment, cPanel deployment, DNS/email, form handling, PHP app stack |
| `CONTENT.md` | Writing standards, tone by sector, healthcare credential rules, copy structure, image standards, image generation, prompt engineering |
| `OPTIMIZATION.md` | Mobile responsive, breakpoints, SEO meta, schema.org, robots.txt, sitemap, testing/verification, performance standards |
## Three stacks (2026-05-21 standard)
### Stack A: PHP Router + SQLite (50+ page sites)
Reference: `arisingmedia.us`. 10,000+ pages, single router, SQLite content DB.
Edit one template and all pages in that class update instantly.
Build standard: `arisingmedia.us/.planning/WEBSITE_BUILD_STANDARD.md`
SOP: `15-php-router-sqlite-standard.md`
Stack A uses raw docker commands only. No docker compose.
### Stack B Static HTML (fewer than 50 pages)
**Reference: `lahrcarpetcleaning.com`** — universal Docker + cPanel deployment.
### Stack B: Static HTML (fewer than 50 pages)
Reference: `lahrcarpetcleaning.com`. Universal Docker + cPanel deployment.
Every page is an HTML file on disk. Simple, portable, no server-side requirements.
SOP: `01-project-structure.md`, `03-build-pipeline.md`, `08-deployment-docker.md`
### Stack C PHP App (file processing, auth, payments)
**Reference: `quickconvert.us`**
SOP: `14-php-app-stack.md`
### Stack C: PHP App (file processing, auth, payments)
Reference: `quickconvert.us`
See STACK.md PHP App Stack section.
## Index
## Subdirectories
1. [00-stack-philosophy.md](00-stack-philosophy.md) — Why static HTML + vanilla JS + Python tooling, what we never use
2. [01-project-structure.md](01-project-structure.md) — Folder layout: flat HTML (Docker) vs directory-style (cPanel). Lahr reference structure.
3. [02-wordpress-to-html-migration.md](02-wordpress-to-html-migration.md) — The migration playbook
4. [03-build-pipeline.md](03-build-pipeline.md) — JSON data + HTML template + Python build script
5. [04-content-rules.md](04-content-rules.md) — Writing standards (no em-dashes, no fake metrics)
6. [05-mobile-responsive.md](05-mobile-responsive.md) — Breakpoints, mobile nav, viewport testing
7. [06-seo-meta.md](06-seo-meta.md) — Title, meta, canonical, keywords, schema, og:, robots.txt, sitemap. Includes lahr examples.
8. [07-form-handling.md](07-form-handling.md) — Resend API + Python stdlib service pattern
9. [08-deployment-docker.md](08-deployment-docker.md) — Universal deployment: Docker+nginx (Path A) AND cPanel+Apache (Path B). Universal project checklist.
10. [09-domain-email-dns.md](09-domain-email-dns.md) — Resend domain verification, SPF/DKIM/DMARC
11. [10-testing-verification.md](10-testing-verification.md) — Playwright checks before declaring done
12. [11-healthcare-regulated-credentials.md](11-healthcare-regulated-credentials.md) — Licensure copy compliance for healthcare clients (MHC-LP, LMHC, supervision disclosure)
13. [12-image-assets.md](12-image-assets.md) — WebP requirement, sizing targets, local generation (FLUX.1 Schnell), convert-to-webp.py
14. [13-reference-site-visual-audit.md](13-reference-site-visual-audit.md) — Playwright Firefox scroll-capture + frame-strip + pin-transition annotation. Output skeleton + schema mapping for any client-cited reference URL.
15. [14-php-app-stack.md](14-php-app-stack.md) — When to use PHP + Docker instead of static HTML. Server-side processing, encryption, auth patterns.
| Directory | Purpose |
|-----------|---------|
| `local-image-generation/` | Full local pipeline: ComfyUI setup, FLUX.1 Schnell images, Wan 2.2 video, prompt guide, quality levers |
| `image-gen-workflow/` | Cloud API workflow (Google Imagen 4). Paid client budgets only. |
| `wp-divi-pipeline-to-am-stack/` | End-to-end pipeline: .wpress archive to Stack A deployment |
| `tools/` | Shared scripts (verify-protection.sh, etc.) |
| `build/` | Build utilities |
## Image generation workflow
## Image generation
See [local-image-generation/](local-image-generation/) for the full local pipeline:
- [01-comfyui-setup.md](local-image-generation/01-comfyui-setup.md) — ComfyUI install, venv, GPU notes
- [02-flux-images.md](local-image-generation/02-flux-images.md) — FLUX.1 Schnell image pipeline
- [03-wan-video.md](local-image-generation/03-wan-video.md) — Wan 2.2 image-to-video pipeline
- [04-prompt-guide.md](local-image-generation/04-prompt-guide.md) — Lens, angle, depth-of-field prompt patterns
- [05-quality-levers.md](local-image-generation/05-quality-levers.md) — Prompt, steps, model size: decision matrix for fixing output quality
Default: Google Imagen API (imagen-4.0-generate-001) with allotted quota per project.
See `image-gen-workflow/` for the workflow, model selection, and prompt patterns.
Default stack (free, no API cost): FLUX.1 Schnell GGUF (images) + Wan 2.2 GGUF (video) via ComfyUI
All output: `.webp` only — see `12-image-assets.md`
Cloud APIs (Google Veo, Imagen 4, Gemini video): only when client has explicit paid media budget.
Local generation is the default for all Arising Media client projects.
All output: `.webp` only in production.
## Universal project file checklist
Every project must include ALL of these before first commit:
Every project must include ALL of these before first deploy:
```
Dockerfile Docker/VPS nginx web container
docker-compose.yml Docker/VPS — service orchestration
nginx.conf Docker/VPS routing, security headers, gzip
.htaccess cPanel/Apache clean URLs, deny sensitive files
.cpanel.yml cPanel Git copy files to webroot on deploy
Dockerfile Docker/VPS: nginx web container
docker-compose.yml Stack B/C only. Stack A uses raw docker commands.
nginx.conf Docker/VPS: routing, security headers, gzip
.htaccess cPanel/Apache: clean URLs, deny sensitive files
.cpanel.yml cPanel Git: copy files to webroot on deploy
.dockerignore keeps secrets and tools out of Docker image
.gitignore keeps .env and secrets out of git
robots.txt both paths
sitemap.xml both paths
llms.txt both paths AI crawler documentation (see 06-seo-meta.md)
llms.txt both paths. AI crawler documentation (see OPTIMIZATION.md)
404.html both paths
500.html both paths
```
## Reference projects
- `lahrcarpetcleaning.com` **primary reference**: universal deployment, directory-style URLs, WebP images, cPanel Git, mobile nav, FLUX image generation
- `floorithardwoodfloors.com` — first WP-to-static migration with Docker stack
- `backforge.nl` — simpler static site, no form API
- `lahrcarpetcleaning.com`: primary reference. Universal deployment, directory-style URLs, WebP images, cPanel Git, mobile nav, FLUX image generation.
- `arisingmedia.us`: Stack A reference. PHP router, SQLite, 10,000+ pages.
- `quickconvert.us`: Stack C reference. PHP app, Stripe, encryption, auth.
## When to deviate
These SOPs are the default. Deviate only when:
- The client explicitly requires a different stack (CMS-managed editing, e-commerce with Shopify/Woo, etc.)
- A required feature literally cannot be done with this stack
- The client explicitly requires a different stack (CMS-managed editing, e-commerce, etc.)
- A required feature cannot be done with this stack
Document the deviation in the project's own `README.md` so future maintainers
know what is and is not standard.
Document the deviation in the project's own `README.md`.