# Think-Prompt brand site > Single-file static marketing site for **Think-Prompt** — a local-only, > open-source prompt coach for Claude Code. 18 anti-pattern rules score every > prompt 0–100. Data stays on the user's machine. No API key, no external > account. > > This repository contains only the marketing site. The Think-Prompt product > itself (CLI + agent + worker + dashboard) lives in the upstream monorepo at > https://github.com/must-goldenrod/think-prompt. > > The site is a single-page `index.html` with Tailwind (CDN) + vanilla JS and > a 5-language i18n layer (English / 한국어 / 中文 / Español / 日本語). No build > step. ## Main - [index.html](./index.html): Single-page homepage — hero · terminal demo · 6 feature cards · how-it-works (3 steps) · 5 category summary of the 18 rules · 6 npm packages · Privacy Pledge · install instructions · footer. All user-facing strings are driven by an inline i18n dictionary (`window.__TP_I18N__`) and switched via a nav dropdown. ≈ 15 000 tokens. ## READMEs (mirrored in 5 languages) - [README.md](./README.md): Korean primary README — layout, how to serve locally, deploy targets (GitHub Pages / Vercel / Netlify / Cloudflare Pages / Coolify), fact-sync table with the upstream monorepo, doc-localization convention. ≈ 1 500 tokens. - [README.en.md](./README.en.md): Same content in English. ≈ 1 500 tokens. - [README.ja.md](./README.ja.md): Same content in Japanese. ≈ 1 700 tokens. - [README.zh.md](./README.zh.md): Same content in Simplified Chinese. ≈ 1 500 tokens. - [README.es.md](./README.es.md): Same content in Spanish. ≈ 1 500 tokens. ## Project guidance - [CLAUDE.md](./CLAUDE.md): Guidance for Claude Code (or other coding agents) working in this repo. Covers (a) the big-picture architecture, (b) the i18n attribute contract (`data-i18n` / `data-i18n-html` / `data-i18n-attr`), (c) DOMParser-based safe-rendering helpers (`parseTrustedHTML` / `setChildrenFromTrusted`) that replace forbidden `innerHTML` writes, (d) the sync table pointing to upstream monorepo paths, (e) reduced-motion contract, (f) the README localization convention. ≈ 2 800 tokens. ## Deployment - [docs/coolify-deploy.md](./docs/coolify-deploy.md): Coolify deployment runbook. Two paths — Nixpacks Static (2-minute setup, zero config) and Custom Dockerfile (full Nginx control with cache headers + gzip + security headers). Includes pre-flight checklist, post-deploy 1-pass verification, rollback procedure, and "when you change X, update Y" trigger list. Explicitly flags the CSP constraint caused by Tailwind Play CDN + Google Fonts. ≈ 2 500 tokens. ## Product / decision memos - [docs/rewrite-feasibility.md](./docs/rewrite-feasibility.md): Product decision memo on whether to bring back the "LLM rewrite" feature (currently removed from the homepage because it was never tested end-to-end). Three options analysed — A (keep hidden in v0.1) / B (lightweight "suggest specific edits" mode — recommended) / C (full rewrite with brand re-positioning). Includes confirm-before-deciding checklist and option-specific next-step sequences. ≈ 3 800 tokens. ## Upstream product (not in this repo) - [github.com/must-goldenrod/think-prompt](https://github.com/must-goldenrod/think-prompt): The Think-Prompt monorepo. Holds the six `@think-prompt/*` npm packages (cli · core · rules · agent · worker · dashboard), the rule definitions in `packages/rules/src/rules.ts`, the local dashboard on port 47824, and the Fastify hook receiver on port 47823. Agents looking for *how the product works* (not *how the marketing site works*) should read this upstream repo, not this one. ## Optional - [.gitignore](./.gitignore): Excludes `.claude/settings.local.json`, `.playwright-mcp/`, `.env*`, `.DS_Store`, and build-artifact directories. - [robots.txt](./robots.txt): Explicit allow-list for AI crawlers (GPTBot / ClaudeBot / PerplexityBot / Google-Extended / CCBot / and more). The site is fully public and wants AI discovery. Declares `Sitemap: https://think-prompt.app/sitemap.xml`. - [sitemap.xml](./sitemap.xml): Standard XML sitemap declaring the 5 language-addressable URLs (`?lang=en|ko|zh|es|ja`) with cross-referenced `xhtml:link rel="alternate" hreflang=...` entries per URL. Matches the `` declarations in `index.html`. - [assets/og-image.png](./assets/og-image.png): 1200×630 PNG social-sharing card. Generated from `og-image.svg` via macOS `sips`. The PNG (not SVG) is referenced by `og:image` / `twitter:image` because Facebook, X, LinkedIn, Slack, and Discord do not render SVG OG cards. - [assets/og-image.svg](./assets/og-image.svg): Vector source for the PNG above. Regenerate the PNG when this file changes: `sips -s format png assets/og-image.svg --out assets/og-image.png -z 630 1200`.