PuzzleTide Puzzle Generator

officiel

Word search, crossword, and sudoku generator MCP server with printable PDF worksheets, themed word banks, and verifiable LLM evals. Local-first, from the makers of puzzletide.com.

Que pouvez-vous faire avec Puzzle Tide Puzzle Generator MCP ?

  • Générer une recherche de mots — créer une grille de recherche de mots à partir de mots personnalisés, d'un fichier ou d'un thème intégré en utilisant puzzle_wordsearch_generate.
  • Générer des mots croisés — produire des mots croisés entrelacés avec une numérotation standard et des indices validés via puzzle_crossword_generate.
  • Générer ou résoudre un sudoku — créer un sudoku avec une solution unique garantie (puzzle_sudoku_generate) ou résoudre une chaîne de puzzle de 81 caractères (puzzle_sudoku_solve).
  • Valider un sudoku — vérifier une grille de sudoku pour les conflits, la solvabilité et l'unicité de la solution avec puzzle_sudoku_validate.
  • Explorer les banques de mots — lister les thèmes, rechercher des mots par motif, trouver des anagrammes ou choisir des mots aléatoires en utilisant words_themes, words_match, words_anagram et words_random.
  • Exécuter des évaluations LLM vérifiables — générer des tâches de référence reproductibles basées sur des puzzles (eval_generate) et noter les réponses par construction (eval_check).

Documentation

PuzzleTide CLI — générateur de mots mêlés, mots croisés et sudoku

npm package Docs Agent skills smithery badge License: MIT

Générateur de mots mêlés, générateur de mots croisés et générateur/résolveur de sudoku dans un seul CLI de génération de puzzles local-first — avec des feuilles PDF imprimables, des banques de mots de départ, des évaluations LLM vérifiables et des compétences d'agent intégrées. Des créateurs de puzzletide.com.

Installation

npm install -g puzzletide
ptide --version

Le paquet installe les deux binaires :

  • ptide
  • puzzletide

Pourquoi générer des puzzles avec un CLI

Demandez à un modèle de langage d'écrire un mot mêlé et vous obtenez une grille où la moitié des mots sont cassés ; demandez-lui un sudoku et vous en obtenez généralement un avec plusieurs solutions, ou aucune. Les grilles sont exactement le type de sortie pour lequel les LLM sont mauvais et le code déterministe est bon.

PuzzleTide CLI est ce code déterministe :

  • Chaque mot du mot mêlé est placé et vérifiable — les coordonnées de placement font partie de la sortie, et les générateurs sont testés par propriétés.
  • Chaque sudoku généré est vérifié pour avoir exactement une solution.
  • Chaque mot croisé est validé par rapport à ses propres indices avant d'être retourné.
  • Même --seed en entrée, même puzzle en sortie, sur n'importe quelle machine.

Le paquet fournit également les compétences d'agent SKILL.md, afin que les agents de codage (Pi, Hermes, OpenClaw et autres systèmes basés sur SKILL.md) utilisent le CLI au lieu d'écrire des grilles à la main.

Modèle de commande

ptide <namespace> <operation> [input] [options]   # for humans
ptide run <tool-id> [input] [options] --json      # canonical, for scripts/agents
ptide tools list | search <q> | info <id> | docs <id>
ptide agent manifest

Utilisez des commandes courtes en mode interactif et les identifiants d'outils canoniques en automatisation :

ptide sudoku generate --difficulty hard
ptide run puzzle.sudoku.generate --difficulty hard --json

Générateur de mots mêlés

Huit directions de placement avec des préréglages facile/moyen/difficile, des grilles de taille automatique (6–30), normalisation des accents/espaces/tirets. Les mots proviennent de drapeaux, de fichiers ou de thèmes groupés :

# Word search from your own words, printed in the terminal
ptide wordsearch generate --words "coral,shark,kelp,wave,tide"

# Themed printable word search (puzzle page + solution page)
ptide wordsearch generate --theme animals/ocean-animals --pdf ocean.pdf

# Kids mode: easy = forward-only words
ptide wordsearch generate --theme seasonal/halloween --difficulty easy

Générateur de mots croisés

Placement entrelacé avec numérotation standard des mots croisés, validation des indices de la grille et indices de secours déterministes pour les mots thématiques. Les mots qui ne peuvent pas s'entrelacer sont signalés au lieu d'être silencieusement abandonnés :

# Crossword with your clues
ptide crossword generate --words "PARIS: Capital of France; TOKYO: Capital of Japan"

# From a JSON file, as a printable PDF
ptide crossword generate --file words.json --pdf review.pdf --title "Unit 4 Review"

Générateur et résolveur de sudoku

Sudoku facile, moyen, difficile et expert (17–21 chiffres donnés) avec une garantie d'unicité, un résolveur instantané et un validateur qui signale les conflits, la résolvabilité et l'unicité de la solution :

ptide sudoku generate --difficulty expert --seed 42
ptide sudoku solve "53..7....6..195....98....6.8...6...34..8.3..17...2...6.6....28....419..5....8..79"
ptide sudoku validate --file puzzle.txt
ptide daily        # today's daily sudoku, same for everyone on a given UTC day

Puzzles imprimables : feuilles PDF et SVG

Chaque générateur accepte --pdf <file> pour une feuille prête à imprimer — page(s) de puzzle plus une page de solution (--paper letter|a4, omettez la clé de réponse avec --no-solution-page) — et --svg <file> pour des images vectorielles. Des feuilles de mots mêlés imprimables et de sudoku imprimables pour un dossier de classe sont à une boucle près :

for i in 1 2 3 4 5; do
  ptide sudoku generate --difficulty medium --seed "$i" --pdf "sudoku-$i.pdf" --title "Sudoku #$i"
done

Vous préférez des feuilles toutes faites ? Le mot mêlé mystère et meurtre imprimable est un favori des lecteurs, avec des centaines d'autres sur puzzles imprimables.

Banques de mots et outils de mots

30 thèmes de départ (animaux marins, fruits, espace, halloween, ...) — parcourir, rechercher, correspondance de motifs, anagrammes, sélections aléatoires. Apportez vos propres listes via --words/--file, ou jouez avec la collection complète organisée sur puzzletide.com :

ptide words themes --search dinosaur
ptide words match "c_r_l"        # crossword-style pattern matching
ptide words anagram coral

Il y a aussi un jeu du pendu dans le terminal : ptide play hangman.

Compétences d'agent

Pi peut charger les compétences groupées directement depuis ce paquet npm :

pi install npm:puzzletide

Le manifeste du paquet déclare :

{
  "pi": {
    "skills": ["./skills"]
  }
}

Cinq compétences sont incluses : mots mêlés, mots croisés, sudoku, puzzles imprimables et évaluations d'agent. Chacune préfère le CLI local et vérifie ptide, puzzletide, puis npx puzzletide. Les compétences n'installent jamais rien automatiquement ; les agents doivent demander à l'utilisateur avant d'installer.

Serveur MCP pour Claude Desktop, Cursor et tout client MCP

Le paquet compagnon puzzletide-mcp expose chaque outil non interactif via le Model Context Protocol — le même générateur de mots mêlés, générateur de mots croisés, générateur/résolveur de sudoku, outils de mots et évaluations, appelables depuis Claude Desktop, Cursor, Windsurf ou tout client MCP :

{
  "mcpServers": {
    "puzzletide": {
      "command": "npx",
      "args": ["-y", "puzzletide-mcp"]
    }
  }
}

Voir docs/mcp.md pour les noms d'outils, les arguments et la configuration par client.

Outils

Le serveur MCP (et ptide run <tool-id>) expose 15 outils :

  • puzzle_wordsearch_generate : Générer une grille de mots mêlés à partir de mots personnalisés, de fichiers ou de banques de mots thématiques — chaque placement vérifiable, imprimable via PDF/SVG.
  • puzzle_crossword_generate : Générer un mot croisé entrelacé avec une numérotation standard et des indices validés.
  • puzzle_sudoku_generate : Générer un sudoku facile, moyen, difficile ou expert avec une solution unique garantie.
  • puzzle_sudoku_solve : Résoudre un sudoku à partir de sa chaîne de 81 caractères et indiquer si la solution est unique.
  • puzzle_sudoku_validate : Valider une grille de sudoku — conflits, résolvabilité et unicité de la solution.
  • words_categories : Lister les catégories de banques de mots.
  • words_themes : Lister ou rechercher les listes de mots thématiques groupées.
  • words_list : Lister les mots d'un thème, filtrés par longueur ou par nombre.
  • words_match : Trouver des mots correspondant à un motif de style mots croisés (c_r_l).
  • words_anagram : Trouver des anagrammes des lettres données dans la banque de mots.
  • words_random : Choisir un mot au hasard, éventuellement dans un thème.
  • words_stats : Statistiques de la banque de mots.
  • eval_generate : Générer des tâches de puzzle reproductibles et objectivement notables pour l'évaluation comparative des LLM et des agents.
  • eval_check : Noter les réponses aux tâches d'évaluation générées par construction — aucune clé de réponse n'est nécessaire.
  • play_daily : Imprimer le sudoku quotidien du jour (le même pour tout le monde un jour UTC donné).

Évaluations LLM vérifiables

Les réponses aux puzzles sont vérifiables sans clé de réponse : une réponse de sudoku satisfait soit les règles et préserve les chiffres donnés, soit elle ne le fait pas ; une réponse de mot mêlé soit épelle le mot le long d'une ligne droite dans la grille, soit elle ne le fait pas. Cela fait des puzzles des tâches de référence propres pour les évaluations LLM — aucun juge LLM nécessaire :

ptide eval generate --type sudoku --n 20 --difficulty hard --seed 1 --out tasks.json
# ...run your model on tasks.json, collect [{id, answer}] ...
ptide eval check --tasks tasks.json --answers answers.json --json

Le tuple (type, difficulté, n, graine) détermine entièrement l'ensemble de tâches, il nomme donc un benchmark reproductible.

Utilisation en tant que bibliothèque

Les moteurs sont importables en TypeScript sans CLI impliqué :

import { generateSudoku, generateWordSearch, wordSearchPdf } from 'puzzletide';

const sudoku = generateSudoku({ difficulty: 'hard', seed: 42 });
const search = generateWordSearch({
  words: ['coral', 'shark', 'kelp'],
  directions: ['E', 'S', 'SE'],
  seed: 7,
});
const pdfBytes = await wordSearchPdf(search, { title: 'Ocean Animals' });

Plus de documentation :

Versions en ligne

Vous préférez un navigateur ?

Confidentialité

Tout fonctionne localement. Pas de compte, pas de clé API, pas de télémétrie, pas d'accès réseau.

Développement

npm install
npm run build     # tsc → dist/
npm test          # vitest + fast-check property tests (build first: CLI tests run dist/)

Les banques de mots de départ sont des listes originales et génériques écrites pour ce paquet (scripts/wordbanks-source.json, compilées avec npm run build:wordbanks). Les contributions de thèmes sont les bienvenues — ajoutez une entrée au fichier source et exécutez la construction. La collection complète organisée de banques de mots PuzzleTide est la propriété de puzzletide.com et ne fait pas partie de ce dépôt.

Citer PuzzleTide CLI

Si vous utilisez PuzzleTide CLI dans votre travail — par exemple les évaluations de puzzle vérifiables dans un benchmark de modèle — veuillez le citer (ou utilisez le bouton "Cite this repository" de GitHub) :

@software{puzzletide_cli,
  author  = {{Caravaca Labs}},
  title   = {PuzzleTide CLI: word search, crossword \& sudoku generator with verifiable LLM evals},
  year    = {2026},
  url     = {https://github.com/Caravaca-Labs/puzzletide-cli},
  note    = {From the makers of \url{https://puzzletide.com}}
}

Texte brut : "PuzzleTide CLI (Caravaca Labs, 2026), https://github.com/Caravaca-Labs/puzzletide-cli — des créateurs de https://puzzletide.com."

Licence

MIT © Caravaca Labs