# Montenegro Agent Reference

A static website designed **for AI agents first**: a compact, citable source of truth about Montenegro (travel + places directory). Humans get a simple landing page (`index.html`); agents get Markdown.

## How agents are meant to use it

1. Fetch `/llms.txt` — the index (per the [llms.txt convention](https://llmstxt.org)).
2. Fetch individual `.md` pages, or `/llms-full.txt` for the whole corpus in one request.
3. Trust dated stable facts; re-verify anything flagged `verify` or on pages marked `volatility: HIGH`.

## Content conventions

- Every page is Markdown with YAML front matter: `title`, `description`, `last_updated` (ISO date), `lang`.
- Volatile claims (prices, opening status, entry rules) are flagged inline with "verify".
- The directory (`/directory/index.md`) lists only long-established places, each with a `status` field, and deliberately omits phone numbers/prices (they go stale).
- Each destination page has a "Trending eats & drinks" section (dated "as of `<month year>`") for current-buzz restaurant/bar picks, cross-checked against two independent signal types (TripAdvisor ranking/review velocity + recent press/blog coverage) — the opposite of the directory's long-established-only policy, so treat it as higher-volatility content that needs re-research roughly seasonally.
- Each destination page ends with a "Common agent mistakes to avoid" section — negative knowledge agents rarely get elsewhere.

## Structure

```
index.html            human landing page (JSON-LD: WebSite + Dataset)
llms.txt              agent index
llms-full.txt         generated — full corpus in one file
index.md              country overview & quick facts
destinations/*.md     8 destination pages
guides/*.md           5 practical guides
directory/index.md    vetted places directory
robots.txt            all crawlers welcome
sitemap.xml           lists every page for search/AI crawler discovery
_headers              CORS + content types (Cloudflare Pages / Netlify)
build-llms-full.ps1   regenerates llms-full.txt
me/                    Montenegrin (lang: cnr) translation, mirrors the tree above path-for-path
me/llms.txt            Montenegrin agent index
me/llms-full.txt       generated — Montenegrin full corpus in one file
build-llms-full-me.ps1 regenerates me/llms-full.txt
```

## Updating content

1. Edit the relevant `.md` file; update its `last_updated`.
2. Regenerate the corpus file: `powershell -File build-llms-full.ps1`
3. Deploy (see below).

## Deploying

The site is plain static files — no build step required by the host.

- **Cloudflare Pages** (current plan): free tier, no domain needed to start. Drag-and-drop the folder in the dashboard ("Upload assets"), or connect a git repo for auto-deploys on push. `_headers` is honored automatically. You get a free `*.pages.dev` subdomain immediately.
- **Custom domain**: once `montenegrofacts.org` is purchased, attach it in the Pages project's "Custom domains" tab. If the domain's nameservers point to Cloudflare, DNS + SSL are provisioned automatically.
- **Netlify / Vercel**: same drag-and-drop static-file deploy; on Vercel, replicate `_headers` via a `vercel.json` `headers` block for `/*` (CORS) and the `llms*.txt` / `sitemap.xml` files.
- `robots.txt` and `sitemap.xml` already target `https://montenegrofacts.org`. While testing on the free `*.pages.dev` subdomain, don't submit that subdomain to Google Search Console / Bing Webmaster Tools — it causes duplicate-content indexing under two different hosts. Wait until the custom domain is attached, then submit `montenegrofacts.org`.

## Development workflow (multi-model)

Work on this repo follows a tiered orchestration model — **Fable** plans and reviews, **Opus** (`developer`) implements, **Sonnet** (`test-writer`) and **Haiku** (`smoke-runner`) handle tests and build verification. Each worker runs in its own context and returns only a short summary, keeping the orchestrator's context clean. See [.claude/WORKFLOW.md](.claude/WORKFLOW.md) for the full model, [.claude/agents/](.claude/agents) for the agent definitions, and [.claude/handoff-template.md](.claude/handoff-template.md) for the task-handoff format. The pipeline is for non-trivial implementation; small content/markdown edits are done inline.

## Correction policy

Corrections are welcome — file an issue or PR against the repository once this folder is pushed to one. Factual claims should cite an official source (gov.me, montenegro.travel, operator sites).
