Skip to content

docs: DDEV/Docker repositioning, SEO, brand assets, and content accuracy - #24

Merged
TerrorSquad merged 3 commits into
mainfrom
docs/website-seo-and-branding
Jul 17, 2026
Merged

docs: DDEV/Docker repositioning, SEO, brand assets, and content accuracy#24
TerrorSquad merged 3 commits into
mainfrom
docs/website-seo-and-branding

Conversation

@TerrorSquad

Copy link
Copy Markdown
Owner

Summary

Repositions the project and docs around the real differentiator — running git hooks inside DDEV/Docker containers — fixes the website SEO basics, adds brand assets, and brings the docs content back in sync with the shipped CLI/config.

Changes

Positioning

  • README + docs homepage lead with the container story (the one column no other runner has) instead of "another hook runner"

SEO

  • Add sitemap, keyword-rich description, OG/Twitter meta tags
  • Fix mastermain links (default branch is main)
  • lastUpdated + cleanUrls

Brand assets (website/public/)

  • Anvil logo (transparent), favicon, 1200×630 social card wired into og:image/twitter:image

Docs accuracy — the content had drifted from the code:

  • CLI reference: add missing commands (validate, list, ci, cache clear, update) and all run/doctor/init flags; fix completion shells (pwsh was never supported)
  • Config reference: document parallel exec, caching, timeouts, depends_on, env, check-mode, [update], and the full 7-hook list
  • Commit policy: correct ticket extraction and add branch-validation / prepare-commit-msg fields
  • Env: add SKIP_GROUP_* and FORGE_GLOBAL_CONFIG
  • Presets: correct node prettier/eslint extensions
  • Add CLAUDE.md and docs/brand-assets.md

Verification

  • vitepress build passes (dead-link check clean)
  • Doc claims cross-checked against internal/forge/ source (config structs, presets, backend, completion, runner)

🤖 Generated with Claude Code

TerrorSquad and others added 2 commits July 17, 2026 21:38
Reframe the README and docs homepage around the differentiator — running
git hooks inside DDEV/Docker containers — instead of a generic hook runner.

SEO:
- add sitemap, keyword-rich description, OG/Twitter meta tags
- fix master -> main branch links (default branch is main)
- enable lastUpdated and cleanUrls

Brand assets (website/public/): anvil logo (transparent), favicon,
and a 1200x630 social card wired into og:image/twitter:image.

Also adds CLAUDE.md and docs/brand-assets.md (asset prompts for reuse).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bring the docs in line with the shipped code:

- CLI reference: add missing commands (validate, list, ci, cache clear,
  update) and all run/doctor/init flags; fix completion shells (bash/zsh/
  fish — pwsh was never supported)
- Config reference: document parallel, caching, timeouts, depends_on,
  env, check-mode, stage_outputs, show_output, [update], and the full
  hook list (prepare-commit-msg, post-commit/merge/rewrite)
- Commit policy: correct ticket extraction (regex, not PRJ_123) and add
  branch-validation / prepare-commit-msg fields
- Env: add SKIP_GROUP_* and FORGE_GLOBAL_CONFIG
- Config guide: document global user config precedence
- Presets: correct node prettier/eslint extensions
- Installation: fix master -> main install URL, update version format

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@TerrorSquad TerrorSquad left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Self-review — cross-checked the documented claims against internal/forge/. One accuracy finding:

default_backend default is not "host" (reference/config.md, guide/backends.md)

ResolveBackend (backend.go) treats an omitted default_backend differently from an explicit "host":

  • "" (omitted) → auto-detects DDEV if the web container is running, else host
  • "host" → always host, auto-detection disabled

The reference table lists the default as "host", which hides the auto-detect behavior, and the backends guide doesn't mention that host opts out of detection. Fixing both.

Everything else verified accurate: full command/flag surface matches app.go, config fields match the structs, presets match presets.go, parallel inheritance matches IsParallelMode, ticket regex matches ticketRegexFor, and the 7-hook list matches supportedHooks. Build passes with the dead-link checker on.

Omitting default_backend auto-detects DDEV (if the container is running);
an explicit "host" forces host and disables detection. Addresses review.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@TerrorSquad
TerrorSquad merged commit f60aeb8 into main Jul 17, 2026
1 check passed
@TerrorSquad
TerrorSquad deleted the docs/website-seo-and-branding branch July 17, 2026 19:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant