TJ GEO Publish Mode
After a project closes, turn on AI-readable publishing in one controlled pass.
This is the missing post-close switch: take a finished TJ site, generate the GEO publish pack, connect support robot context, expose safe machine files, and verify the route before buyer traffic.
Reusable console
Fill or auto-load the site facts, then generate the publish contract.
Future TJ sites only change domain, site name, industry, products, prices, return path, support route, and robot script pack. Everything else stays standard.
What this publishes
It creates the public facts AI should read, and the private gates humans must control.
Short and full AI context, buyer route, support path, and safety boundary.
Machine-readable product, order, payment, support, GEO, and Traffic OS contract.
Service, FAQ, product feed entry, price, delivery window, and contact route.
Default answers for what the site sells, how to buy, how to contact support, and when to escalate.
Public pages are indexable; admin, payment confirmation, provider, outreach, and evidence pages remain blocked.
Pass/fail gates, owner-required-input list, no-secret scan, and post-publish smoke checklist.
Operating rule
Every finished site gets this mode before it is called closed.
The closeout is not complete until GEO publish mode can explain the site to AI, route a buyer to the right product, direct private issues to support, and prove that no secret or money action leaked into public files.
Use guide
How to use it after any TJ project closes.
- Confirm the project is locally closed: page works, payment handoff works, support route works, and sensitive pages are blocked.
- Open this page, load or enter the new site's domain, product catalog, pricing, support route, robot script pack, and return path.
- Generate the publish pack and run
npm run geo:publish-modein the project root for real files. - Review the generated report. Fix missing public facts, broken links, missing manifest entries, or secret-like content.
- Only after the report is clean, deploy the site and run read-only smoke against the live URL.