brand
무료Apply this site's visual identity — colours, type, logo files and fixed brand strings. Use for any page, component, social asset or document that should look like the site.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when building, testing or previewing site-os — the BUILD_TARGET=stable dist directory, the four verification gates (build, test, env:check, brand:check), the preview servers on :3000 and :3100, and the failure modes that look like bugs but are not.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
실행 점수 미검증
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
BUILD_TARGET=stable pnpm build # production build
pnpm test # vitest
pnpm env:check # every process.env var has a declared home
pnpm brand:check # brand assets, scales, no retired hexes
tsc --noEmit alone is not enough: it cannot see inside a SQL string or a
Tailwind class name, and both have produced runtime failures here that compiled
cleanly.
BUILD_TARGET=stable writes to .next-stablenext.config.mjs sets distDir from it. Use the same value for build and
start, or pnpm start serves a stale or missing directory:
BUILD_TARGET=stable pnpm build
BUILD_TARGET=stable PORT=3100 pnpm start
Rebuilding into .next-stable while a server is serving from it invalidates the
chunk hashes its manifest holds, and every page starts throwing. It looks like a
code bug; it is not. Restart the server after a rebuild:
pkill -f "next start"; sleep 2
BUILD_TARGET=stable PORT=3100 pnpm start > /tmp/vb-preview.log 2>&1 &
| Port | Serves |
|---|---|
| 3000 | ~/projects/site-os — main |
| 3100 | ~/projects/site-os-brand-v4 — the brand-v4 worktree |
Both bind to all interfaces, so no tunnel: localhost, Tailscale
100.88.18.114, or LAN 192.168.0.11. Admin routes 307 to /login — that is
correct, not a failure.
The Coolify tunnel (scripts/coolify-tunnel.sh, port 8000) is unrelated; it
reaches the Coolify dashboard and API, which are loopback-only on the server.
A page compiling proves nothing about what it renders. curl it:
curl -s http://localhost:3100/services | grep -oiE "lead generation|demand gen"
For anything visual, say plainly that it was not seen if no browser was opened. Structural checks are not the same as looking at it.
Tailwind v3 cannot apply an alpha modifier (bg-saffron-500/10) to a var()
holding a full hex, which is why the saffron and green scales in
tailwind.config.ts must stay hex literals. brand:check asserts they still
match tokens.css.
To prove a class emits real CSS, grep the built stylesheet — there are several, and the main one is the largest:
grep -o "\.rounded-ui-md{[^}]*}" .next-stable/static/css/*.css
Branch brand-v4. No push, no merge, no deploy without being asked.
Before committing, check no secret is staged:
git status --porcelain | grep -E '\.env\.local|\.secrets/' # must be empty
git grep -l '<any token value>' # must be 0 files
.env.local and .secrets/ are gitignored (.gitignore:36 and :44).
[[site-database]] — migrations and the ownership rule.[[brand]] — what brand:check is enforcing.docs/OPS.md §3 — which store holds which environment value.아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Apply this site's visual identity — colours, type, logo files and fixed brand strings. Use for any page, component, social asset or document that should look like the site.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use FIRST when someone asks for a new feature or a change to an existing one — before any schema, code or test. Works out what is actually being asked for, whether to build it or integrate a third party (Trustpilot, Stripe, Calendly and the like), where the data lives, who may do what, and what happens when the vendor is down. Produces a decision, then hands to feature-schema.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when a new feature needs a table, column or capability — evolving the schema so the new thing joins the permission, audit and RLS contract instead of sitting outside it. Covers the DDL/DML split, the resource/capability wiring, and the self-verifying migration.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use after building a feature — explore it in a real browser to find what nobody predicted, then turn each finding into a deterministic test that guards it forever. Covers the agentic pass, what to generate vs hand-write, and how to skip honestly when a capability is missing.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Publishing content or deploying site-os — what caches exist, what refreshes them, and how to prove a change is actually live. Use when publishing a post or product, launching a page, deploying, or when someone says a change "isn't showing".
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Handling secrets, keys and credentials for site-os — reading vigyan-secrets.md safely, moving keys into app_secrets, rotating, and responding to an exposure. Use whenever a task touches a key, token, password, .env file, app_secrets, encryption, or the secrets document.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.