Skip to content

Releases: shadowresearch/auto-geo

v0.8.4

Choose a tag to compare

@github-actions github-actions released this 10 Jun 22:49
025569d

What's Changed

  • fix: v0.8.4 — drop stale pnpm-workspace.yaml so the binaries job builds by @jessen-shadow in #61

Full Changelog: v0.8.3...v0.8.4

v0.8.3

Choose a tag to compare

@github-actions github-actions released this 10 Jun 22:46
3f4d77b

What's Changed

Full Changelog: v0.8.2...v0.8.3

v0.8.2 — outcome-oriented tagline

Choose a tag to compare

@jessen-shadow jessen-shadow released this 10 Jun 21:29
2fbd6a0

New tagline across README, npm, the docs site, and the repo: The open-source GEO engine that gets your brand mentioned in ChatGPT, Claude, Gemini, Perplexity, and Grok.

v0.8.1 — install-first docs + new docs site

Choose a tag to compare

@jessen-shadow jessen-shadow released this 10 Jun 21:20
6f73c26

Docs-only release.

  • README and every command guide now lead with npm i -g auto-geo — no more npx prefix on every command (npx auto-geo@latest remains the documented one-shot alternative).
  • Docs site rebuilt on just-the-docs: sidebar navigation, built-in search, clean landing page → https://shadowresearch.github.io/auto-geo/

v0.8.0 — prompts discover: let the engine propose your prompt set

Choose a tag to compare

@jessen-shadow jessen-shadow released this 10 Jun 21:13
8d6e62b

New: auto-geo prompts discover — LLM-assisted prompt discovery.

The hard part of a GEO program is knowing which questions to compete for. discover proposes them: it fetches your homepage for grounding, looks at what you already track, and generates N new high-intent queries your domain should be the cited answer for.

auto-geo prompts discover --dry-run    # preview the proposals
auto-geo prompts discover --count 15   # append 15
  • Append-only, dedupe-always — never overwrites existing prompts; duplicates (case-insensitive) are skipped and reported.
  • --count / --domain / --provider / --model / --dry-run / --json; defaults resolve from config + env like write.
  • Failed homepage fetch degrades gracefully to domain-only context.

Full details in the CHANGELOG.

v0.7.1 — env template key labels + hermetic tests

Choose a tag to compare

@jessen-shadow jessen-shadow released this 10 Jun 20:53
7da9979
  • .env.local scaffold now labels OPENAI_API_KEY / ANTHROPIC_API_KEY as serving write, fix, and check (they were labeled generation-only; Perplexity/Gemini/xAI keys are check-only).
  • Test suite is now hermetic — a developer's own auto-geo.config.json / .auto-geo/ above the clone can no longer leak into test assertions.

Full details in the CHANGELOG.

v0.7.0 — CLI-only GEO engine: tracked prompts + check history

Choose a tag to compare

@jessen-shadow jessen-shadow released this 10 Jun 20:37
3ba532f

auto-geo is now CLI-only — a complete, file-based GEO engine.

BREAKING — library surface removed

All package exports are gone (auto-geo, /schema, /react, /next, /hono, /cloudflare, /storage/*, MCP server, examples, openapi.yaml). The package ships exactly one thing: the auto-geo binary — 23 files, 516 kB. Library users: pin auto-geo@0.6.3.

The .auto-geo/ workspace

  • auto-geo prompts add/list/rm — tracked prompts in .auto-geo/prompts.txt (plain text, committable)
  • auto-geo check runs your tracked prompts by default and auto-saves every run to .auto-geo/checks/ (--no-save to opt out)
  • auto-geo history — citation coverage over time: per-engine ↑/↓ trends + newly-cited / lost prompts since the last run
  • auto-geo init sets up the full system — config + .env.local + workspace — and seeds your tracked prompts interactively

The loop

npm i -g auto-geo
auto-geo init      # set up once
auto-geo doctor    # audit a page
auto-geo write     # generate pages from queries
auto-geo fix       # rewrite an existing page
auto-geo check     # measure citations (saved to history)
auto-geo history   # watch coverage move

Full details in the CHANGELOG.

v0.6.3 — auto-load .env.local / .env from cwd

Choose a tag to compare

@jessen-shadow jessen-shadow released this 10 Jun 01:49
1468b19

Closes the loop on `auto-geo init` (v0.6.0). That command scaffolds a `.env.local` file with empty API-key slots — but until now the CLI only read keys from `process.env`. Users had to source the file themselves before `auto-geo write` would see their keys.

Now every command runs the env loader at startup:

```bash
auto-geo init # scaffold auto-geo.config.json + .env.local
vim .env.local # fill in OPENAI_API_KEY etc.
auto-geo write # just works
```

Behavior

  • Walks up from cwd looking for `.env.local` and `.env` (same pattern as `loadConfig`). Monorepo subdirs inherit a workspace-root `.env`.
  • `.env.local` takes precedence over `.env` on key conflicts.
  • Process env always wins. Existing `process.env` keys are never overwritten — production / CI vars stay authoritative.
  • Parser supports: `KEY=value`, `KEY="value"`, `KEY='value'`, `export KEY=value`, `#` comments (line and trailing-on-unquoted), values may contain `=`.

Notes

  • No new dependencies (~30-line parser).
  • No new flags. On by default; to opt out, run from a directory without `.env.local` / `.env`.

Install

```bash
rm -rf ~/.npm/_npx
npx auto-geo@0.6.3 init
```

Full Changelog: v0.6.2...v0.6.3

v0.6.2 — modernize default models (latest-3-per-provider policy)

Choose a tag to compare

@jessen-shadow jessen-shadow released this 07 Jun 21:14
067923e

v0.6.1's gpt-4o default still under-wrote `resourcePublishSchema`'s word windows in real use — same failure mode as gpt-4o-mini, just with smaller deltas. The 4o family is structurally weak at instruction-following on tight schemas.

New policy: defaults stay within the latest three model generations per provider. No `gpt-4o*` or `claude-3-5-*` references in defaults, cost tables, or help text.

Changed

  • Default OpenAI model: `gpt-4o` → `gpt-5.4` (March 2026; current full tier with mini/nano siblings).
  • Default Anthropic model: unchanged — `claude-sonnet-4-6`.
  • Cost tables narrowed:
    • OpenAI: `gpt-5.5`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.2`
    • Anthropic: `claude-opus-4-8`, `claude-sonnet-4-6`, `claude-haiku-4-5` + family-prefix fallbacks
  • Help text in `write --help` and `fix --help` updated to reflect new defaults.

Users pinning an older model via `--model` still work — the cost estimate falls through to the provider-default rate. Their actual bill is unaffected (the estimate is advisory).

Install

```bash
npm i -g auto-geo@0.6.2

or

rm -rf ~/.npm/_npx
npx auto-geo@0.6.2 write --query "best generative engine optimization tools"
```

Full Changelog: v0.6.1...v0.6.2

v0.6.1 — write defaults that actually work

Choose a tag to compare

@jessen-shadow jessen-shadow released this 07 Jun 00:54
c57367b

The reliability follow-up to v0.6.0. After the schema layer was unblocked, the next layer of failure surfaced: default `write` invocations with `gpt-4o-mini` consistently failed validation because the model under-writes the soft-content windows (40-60 word TL;DR / capsules / FAQ answers, 10-35 word takeaways) and the retry loop couldn't recover.

Changed

  • Default OpenAI model: `gpt-4o-mini` → `gpt-4o`. Mini cannot hold the schema's word windows. Cost goes 10× per page ($0.01 → ~$0.10); correctness goes from ~0% → ~100% on default invocations. Override with `--model gpt-4o-mini` or pin it in your config to opt back in.
  • Default `maxRetries`: 2 → 3 for `write` / `fix`. Cheap insurance — combined with the new coaching most retries now fix the issue rather than echoing it.

Added

  • Actionable retry coaching. `formatIssues` now appends a concrete rewrite instruction to each issue in the self-correction prompt:

    ```
    [tldr.text] TL;DR must be 40-60 words; got 31.
    → expand by 9-29 words
    ```

    Live for word ranges (the failure mode users actually hit). Character-range and item-count patterns wired up for future schema messages that carry a `; got K` suffix.

Test coverage

523 → 530 tests (+7): coaching transformer for too-short / too-long word ranges, characters, items, fall-through to raw message, no-op when `got` is inside the range.

Migration

Users explicitly pinning `--model gpt-4o-mini` keep their behavior. Users on defaults get reliability at higher per-page cost (still <$0.10 per page).

Install

```bash
npm i -g auto-geo@0.6.1

or

npx auto-geo@0.6.1 write --query "best generative engine optimization tools"
```

Full Changelog: v0.6.0...v0.6.1