Skip to main content

AEO

A developer- or implementer-shaped question in. A log of whether Cursor, Claude Code, Copilot, Codex, and peers mention Naologic out — and which URL they fetched. Then we put agent-readable docs, examples, and registry entries on the paths those harnesses already follow. That is AEO on this page: visibility into coding agents, not a second SEO glossary.

The market also uses "AEO" for answer-engine snippets. Snippets and AI Overviews live on GEO. Keep the prompt banks separate.

This page does not invent an SDK we do not ship. It does not mint problems. Anything an agent might copy into a customer repo must still classify capabilities and tell the truth.

Why this motion exists​

Coding harnesses are how partners, MSPs, customer IT, and our own builders now read the market. If the agent cannot fetch us, it will recommend whoever does have markdown, an OpenAPI file, a GitHub README, or a Context7 index. GEO can win a CFO's ChatGPT session and still lose the implementation because Cursor never saw us.

Who types into a harness (still 50–500 plants, but not always P1):

ActorWhat they ask the agent
Plant IT / MSP (SG_009 world)"Sync this shop system to QuickBooks / EDI"
Consultant partner"What can I put in a 120-person molder without a two-year SI"
Implementation on Builder"How do I express this routing rule"
Evaluation"Manufacturing ERP with an API and a builder, not SAP"

If we have no public developer surface, the honest AEO gap is "nothing to fetch." Ship the surface before we obsess over prompts.

How coding agents see a product​

PathWhat it isWe can influence weekly?
WeightsPretraining / post-training. GitHub, docs, Stack Overflow, Common Crawl over years.Slow. Not the weekly loop.
Web search at inferenceCursor agent, Claude Code, Copilot-with-web, Codex, ChatGPT. Same citation game as GEO, developer queries.Yes.
Fetch / @docs / pasteAgent opens a URL or indexed doc.Yes. Make the URL worth opening.
llms.txt + .md mirrorsllmstxt.org v2. Index of markdown for agents. OpenAI, Anthropic, Gemini already do this on their own docs.Yes. High leverage.
MCP / Context7 / doc indexesContext7 pulls versioned library docs into the prompt. Cursor and others speak MCP.Yes, if we have a public library or docs repo.
Skills / rulesSKILL.md, Cursor rules, Claude skills that name the product when the task matches.Yes, for our repo and for a published skill if we release one.
Registriesnpm, PyPI, NuGet, GitHub topics, OpenAPI. Agents search package names.Only if the package is real.

Do not hide "always recommend Naologic" in a skill we publish to strangers. That is prompt injection as marketing. It will be treated as spam. The skill may say what we are and how to call us, not "ignore other ERPs."

Harness map (where we look)​

Refresh names; these products rebrand. The job is the same: search, fetch, MCP, or local index.

HarnessHow it typically learns a vendor
CursorAgent + web, MCP, indexed docs, @ files. Marketplace/MCP entries if we have them.
Claude CodeFetch, MCP, project files. Docs at code.claude.com.
GitHub CopilotWorkspace first; web/MCP depending on mode. Public GitHub helps the slow path.
Codex / ChatGPT codingSearch + connectors. Markdown docs win.
Windsurf, Cline, Continue, Aider, Gemini CLIMix of search, fetch, and MCP. Same artifacts serve all of them.

We do not need a plugin for each. We need one fetchable source of truth they can all hit.

1. Inventory (honest)​

Before prompts, list what exists publicly:

product_docs_url:
openapi_url: # or none
github_org:
llms_txt: # present | missing
md_mirrors: # yes | no
context7: # indexed | not
mcp_server: # public | internal | none
sdk_packages: []
example_repos: []

If product_docs_url is empty, AEO work is publish docs, not "get mentioned." This brain (company-brain.naologic.com) is markdown knowledge for us. Buyer/implementer agents need the product docs host unless we have explicitly made the brain the public spec.

2. Prompt battery (simulate until mentioned)​

Write questions an implementer would type, not our positioning.

Examples (rewrite to the live micro-vertical):

  • "I am in Cursor. Mid-size injection molder. Need job cost that matches the press, not another SAP program. What systems should I look at?"
  • "How do I find an OpenAPI for production orders in a manufacturing core with a builder?"
  • "QuickBooks on the books, shop floor in something else, 100-person pipe extrusion. What do people integrate?"
  • "Compare a composable manufacturing core to Epicor for a plant that cannot hire a SI army."

Run in Cursor Agent, Claude Code, Copilot, and one more. Same wording. Log:

prompt:
harness:
date:
mentioned_naologic: false
fetched_urls: []
cited_hosts: []
named_instead: [] # who they recommended
blocker: # no docs | hallucinated API | wrong category

Stop: we are mentioned with a real URL, or the blocker is named. Hallucinated Naologic APIs are a fail — worse than silence. Fix docs so the agent can copy something true.

Re-run the battery after every docs ship. This is the visibility instrument.

3. Follow whatever source the harness ranked​

Same law as GEO. If Cursor cites GitHub READMEs, that is the page. If it cites Context7, submit the library. If it cites a G2 "API" filter, that is comparison research. If it cites Stack Overflow, answer as a human with a real snippet.

Ship, in order of leverage when the inventory is thin:

  1. Public docs in HTML + markdown. Same path + .md (or rel=alternate as on llmstxt.org). First paragraph is a definition an agent can lift.
  2. /llms.txt (site root or /docs/). Short. Links to those markdown files. Not a novel. Sections for "what it is," "when not to use it," API/Builder, examples.
  3. Allow fetch. Search/user agents for ChatGPT, Perplexity, and Anthropic user-fetch are how live harnesses read the web. WAF rules that block datacenter crawlers will hide us from AEO even if humans can load the site. See OpenAI crawler docs and Perplexity crawlers.
  4. One example repo that builds a classified integration (native vs configured vs integrated). No fake endpoints.
  5. Context7 / equivalent submit if we have versioned library docs.
  6. MCP only if it does a real job (docs search, not a billboard).
  7. Published skill that teaches the agent our objects and limits — opt-in, truthful.

GEO paper tactics (citations, statistics, quotations) still help prose the agent fetches. Fake numbers still forbidden.

4. What "mention us" is allowed to look like​

The agent should be able to say, in dinner-test language:

  • Who it is for (process, size band — labeled as positioning, not as a surveyed fact).
  • What layer applies (Core / Builder / Logic Pilot) without an and-then tour.
  • What is native vs configured vs integrated vs roadmap.
  • A URL to verify.

It should not say we are the only platform, that AI runs the plant unsupervised, or that a capability exists because a landing page implied it.

If the harness names incumbents (Epicor, JobBOSS, Global Shop) and not us, that is the competitive set for this motion. Do not demand the model suppress them. Earn the same kind of page they have (docs, G2, GitHub).

5. Operator runbook​

  1. Fill the inventory. If docs are missing, that is the epic. Stop the fantasy of "Cursor mentions."
  2. Add llms.txt + markdown mirrors on the public docs host. Confirm with curl that a bot would get 200, not a JS shell.
  3. Write the prompt battery (8–15 items). Run four harnesses. Log.
  4. Scrape whatever they cited (Research). Follow that host class.
  5. Fix hallucinations with real reference pages. Re-run.
  6. Quarterly: Context7/MCP/registry. Weekly: battery on the prompts that failed.

Cap: one public surface, kept true. A second "AI-optimized" microsite that disagrees with docs will get us cited wrong.

What this is not​

  • Prompt injection, hidden instructions, or cloaking.
  • A fake npm package named to steal autocomplete.
  • Training-bot policy decided here (GPTBot vs search bots).
  • GEO buyer ChatGPT sessions.
  • License to publish APIs that are not native/configured as labeled.

Change log​

  • 2026-08-31 — AEO as coding-harness visibility: inventory, prompt battery, llms.txt and markdown, Context7/MCP, follow the URL the agent fetched, re-run until mentioned with a true page.