Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion changelog.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,14 @@
content="Verified updates to Chess Coach browser-based chess practice, reliability, and learning."
/>
<meta property="og:url" content="https://chess.significanthobbies.com/changelog" />
<meta name="twitter:card" content="summary" />
<meta property="og:image" content="https://chess.significanthobbies.com/og-image.svg" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Changelog · Chess Coach" />
<meta
name="twitter:description"
content="Verified updates to Chess Coach browser-based chess practice, reliability, and learning."
/>
<meta name="twitter:image" content="https://chess.significanthobbies.com/og-image.svg" />
<style>
html { scrollbar-gutter: stable; background-color: #1a1a2e; }
body { margin: 0; background-color: #1a1a2e; }
Expand Down
4 changes: 3 additions & 1 deletion docs/operations/agent-indexing.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ mirror into these files.
| `public/llms-full.txt` | Longer agent brief — product blurb + full surface list + fleet/contact. |
| `public/api-ai.json` | JSON inventory of public surfaces (name, version, url, llms, sitemap, robots, markdown negotiation, auth notes). |
| `public/index.md` | Markdown product brief (no JS) — the "markdown negotiation" surface. |
| `public/sitemap.xml` | `/`, `/faq`, `/index.md`, `/llms.txt`. |
| `public/faq.md` | Markdown counterpart for the public FAQ. |
| `public/changelog.md` | Markdown counterpart for the public changelog. |
| `public/sitemap.xml` | Public HTML routes only: `/`, `/faq`, `/changelog`. |
| `public/robots.txt` | Allow all + sitemap + explicit allow for agent surfaces. |
| `public/_redirects` | Cloudflare Pages rewrite: `/api/ai` → `/api-ai.json` (200). |
| `public/fa7259e2e0d942f1a1267b344a75a143.txt` | IndexNow key file (Bing/Yandex URL submission). |
Expand Down
2 changes: 2 additions & 0 deletions faq.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@
<meta property="og:title" content="FAQ — Chess Coach" />
<meta property="og:description" content="Play chess against Stockfish with AI-powered move coaching and analysis. No account required." />
<meta property="og:url" content="https://chess.significanthobbies.com/faq" />
<meta property="og:image" content="https://chess.significanthobbies.com/og-image.svg" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="FAQ — Chess Coach" />
<meta name="twitter:description" content="Play chess against Stockfish with AI-powered move coaching and analysis. No account required." />
<meta name="twitter:image" content="https://chess.significanthobbies.com/og-image.svg" />
<style>
:root {
--bg: #1a1a2e;
Expand Down
4 changes: 3 additions & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@
<meta property="og:type" content="website" />
<meta property="og:url" content="https://chess.significanthobbies.com/" />
<meta property="og:site_name" content="Chess Coach" />
<meta name="twitter:card" content="summary" />
<meta property="og:image" content="https://chess.significanthobbies.com/og-image.svg" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Chess Coach — Play Stockfish with AI Coaching" />
<meta name="twitter:description" content="Play chess against Stockfish with AI-powered coaching feedback." />
<meta name="twitter:image" content="https://chess.significanthobbies.com/og-image.svg" />
<!-- Critical inline styles: applied immediately, not deferred like the Tailwind stylesheet -->
<style>
html { scrollbar-gutter: stable; background-color: #1a1a2e; }
Expand Down
16 changes: 15 additions & 1 deletion public/api-ai.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,24 @@
"md": "https://chess.significanthobbies.com/index.md",
"kind": "spa",
"description": "Product home"
},
{
"id": "faq",
"url": "https://chess.significanthobbies.com/faq",
"md": "https://chess.significanthobbies.com/faq.md",
"kind": "static",
"description": "Engine, coaching, privacy, and pricing questions"
},
{
"id": "changelog",
"url": "https://chess.significanthobbies.com/changelog",
"md": "https://chess.significanthobbies.com/changelog.md",
"kind": "static",
"description": "Verified reliability, discovery, and learning updates"
}
],
"auth": {
"public": true,
"notes": "Auth-walled app routes are not agent-indexed unless listed here."
"notes": "The public game requires no account. The development-only AI proxy is excluded."
}
}
26 changes: 26 additions & 0 deletions public/changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Chess Coach changelog

Verified updates to browser-based chess practice, reliability, and learning.

## July 26, 2026 — Reliable Stockfish startup

- Cloudflare Pages now serves the cross-origin isolation headers required by
Stockfish WebAssembly.
- The static public deployment remains independent of the optional local AI
bridge.

## July 25, 2026 — Better search and sharing context

- Chess Coach gained canonical, social, and structured metadata.
- Public agent and crawler surfaces describe the game without exposing the
development-only AI proxy.

## April 26, 2026 — A focused chess-practice board

- The responsive board, evaluation, move feedback, clock, and coaching layout
reached their current form.
- Six Stockfish levels, hints, undo, board flip, and local persistence remain
available without an account.

- [Roadmap](https://github.com/Significant-Hobbies/chess/issues)
- [Source](https://github.com/Significant-Hobbies/chess)
46 changes: 46 additions & 0 deletions public/faq.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Chess Coach FAQ

Chess Coach combines a browser-local Stockfish 18 engine with optional,
on-demand AI explanations. No account is required.

## What does Chess Coach provide?

- Six Stockfish difficulty levels
- Real-time evaluation from White's perspective
- Move-quality badges based on centipawn loss
- Best-move hints, undo, board flip, and configurable clocks
- Local game persistence across page reloads
- Optional natural-language coaching after a move

## Does Stockfish run locally?

Yes. Stockfish runs as WebAssembly inside a Web Worker in the browser. Engine
analysis does not require a server queue or upload the game.

## How are moves classified?

Chess Coach compares the played move with Stockfish's best line and uses the
centipawn loss to label it Best, Good, Inaccuracy, Mistake, or Blunder.

## How do AI explanations work?

The user explicitly requests an explanation from the Coach panel. The prompt
includes the position, played move, evaluation change, and engine alternative.
Cloud providers require the user's own configured key. Local CLI providers are
available only through the development bridge and are not part of the static
public deployment.

## Is Chess Coach free?

The game, Stockfish analysis, evaluation bar, hints, and move-quality feedback
are free and require no account. A cloud AI provider may charge for explanations
requested with a user-supplied key.

## Can a game be paused?

The current game is saved in local storage, so a practice session can continue
after a page reload.

- [Play Chess Coach](https://chess.significanthobbies.com/)
- [Read the changelog](https://chess.significanthobbies.com/changelog)
- [View the source](https://github.com/Significant-Hobbies/chess)
21 changes: 18 additions & 3 deletions public/index.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,27 @@
# Chess Coach

AI-coached chess practice in the browser.
Browser-based chess practice against Stockfish 18 with optional, on-demand AI
explanations.

## Note for agents
## What is included

The app is a client SPA with little server-rendered copy. Use this brief and `/api/ai` (when deployed with a worker) rather than HTML shell scraping.
- Six engine levels, configurable clocks, hints, undo, and board flip
- Real-time evaluation and move-quality badges
- Local game persistence with no account
- Optional explanations from a configured cloud provider or a local development
bridge

Stockfish runs locally in a Web Worker. The static production deployment does
not expose the development-only AI proxy.

## Public pages

- [Play](https://chess.significanthobbies.com/)
- [FAQ](https://chess.significanthobbies.com/faq)
- [Changelog](https://chess.significanthobbies.com/changelog)

## Agent entrypoints

- https://chess.significanthobbies.com/llms.txt
- https://chess.significanthobbies.com/index.md
- https://chess.significanthobbies.com/api/ai
2 changes: 2 additions & 0 deletions public/llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ The app is a client SPA with little server-rendered copy. Use this brief and `/a
## Product links

- Home: https://chess.significanthobbies.com/ — Play (SPA)
- FAQ: https://chess.significanthobbies.com/faq — Engine, coaching, and privacy questions
- Changelog: https://chess.significanthobbies.com/changelog — Verified product updates

## Machine surfaces

Expand Down
10 changes: 10 additions & 0 deletions public/og-image.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 0 additions & 2 deletions public/sitemap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,4 @@
<url><loc>https://chess.significanthobbies.com/</loc></url>
<url><loc>https://chess.significanthobbies.com/faq</loc></url>
<url><loc>https://chess.significanthobbies.com/changelog</loc></url>
<url><loc>https://chess.significanthobbies.com/index.md</loc></url>
<url><loc>https://chess.significanthobbies.com/llms.txt</loc></url>
</urlset>
Loading