Dhamma.Gift — Pāli Canon

Registre officiel Recherche et web

Search and read the Pāli Canon: Pāli root texts with Russian and English translations.

Que pouvez-vous faire avec Dhamma.Gift — Pāli Canon ?

  • Search across the Pāli Canon with SQLite/FTS5
  • Reader routes for clean URLs such as /dn22 and /dn22:12.1
  • Segment-aware links and scroll targets
  • Support for offline mirror data and environment-based path resolution
  • Legacy compatibility with older PHP/Apache frontends

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http dhamma-gift-p-li-canon 'https://api.dhamma.gift/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "dhamma-gift-p-li-canon": {
            "type": "http",
            "url": "https://api.dhamma.gift/mcp"
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. dg-node
  2. Features
  3. Quick start
  4. Deployment checks
  5. Deployment notes for Apache/PHP
  6. Project structure
  7. License

dg-node

Node.js backend for searching and reading Pāli Canon texts using SuttaCentral Bilara and DhammaGift translations.

This project powers the search index, reader endpoints, static assets, and compatibility layer for the legacy Dhamma.Gift stack. The production server runs on Fastify; the older Express-based implementation is kept only for legacy support.

Architecture and development rules: CLAUDE.md

Features

  • Search across the Pāli Canon with SQLite/FTS5
  • Reader routes for clean URLs such as /dn22 and /dn22:12.1
  • Segment-aware links and scroll targets
  • Support for offline mirror data and environment-based path resolution
  • Legacy compatibility with older PHP/Apache frontends

Quick start

git pull
npm install
npm run build-search-db   # build dg.db (SQLite/FTS5) from fresh Bilara data
npm start                 # run the production server (dg-fastify.js), port 3000

build-search-db should be rerun whenever source texts or translations change on disk. The server reads data directly from disk and rebuilds the search index as needed.

Data paths such as SC_BILARA, DG_OFFLINE, and offline mirrors are resolved automatically based on the runtime environment (Termux, Windows development, local server, etc.).

unused/dg-light.js and unused/dblight.js (npm run start:express) are legacy Express + grep services and are not used in production. See CLAUDE.md for details.

Deployment checks

curl "http://localhost:3000/search?q=kacchapa&scope=dhamma&langs=ru,en"
curl -I "http://localhost:3000/assets/js/datatables/datatables.min.js"   # 200 from public/overrides/js/datatables, not from the legacy repo
curl -I "http://localhost:3000/dn22"                                  # reader via clean URL
curl -I "http://localhost:3000/dn22:10.5"                             # segment link (scroll to 10.5)

Manual browser checks:

  • /nodejs/res/?q=kacchapa&scope=dhamma — search, DataTables, export
  • /dn22 — full-text reader
  • Pāli / Russian toggle (three modes: Pāli + translation → Pāli only → translation only) — should actually hide/show content correctly
  • /?q=dn22#12.1 (legacy format) — should continue to work alongside /dn22:12.1

Deployment notes for Apache/PHP

If the public Dhamma.Gift site is currently hosted by Apache/PHP while Node runs as a separate backend proxied only to /search, note the following:

  • search requests may route to the Node backend
  • static files and reader routes may still be served by Apache/PHP
  • root-domain routing can differ from the local development environment
  • dg-fastify is the modern backend, while legacy PHP pages remain in parallel for compatibility

Project structure

dg-fastify.js         — production server (Fastify + SQLite/FTS5, dg.db): /search, /api/text/:suttaId,
                         static files (search/, reader/, siteroot/assets/), offline mirrors,
                         clean URLs (/dn22, /dn22:12.1)
unused/dg-light.js    — legacy Express + grep server, not used in production (see CLAUDE.md)
unused/dblight.js     — build script for dg-light.js → dg_db_light.json (legacy, not needed with dg.db)
search/               — search page (DataTables); legacy URL remains /nodejs/res/... (see CLAUDE.md)
reader/               — reader frontend (reader-template.html + megareader.js)
configs/              — project JSON configs (openapi, reader/*, search/*), see CLAUDE.md
docs/                 — project documentation and compatibility notes (SPA plans, backward compatibility)
siteroot/             — root-site publication: assets/ (legacy assets), 4nt/config/login/,
                         memo/read (legacy tools), see CLAUDE.md

License

See the repository license and project-specific notes in the root of the project.

Questions fréquentes

Qu'est-ce que Dhamma.Gift — Pāli Canon ?

Search and read the Pāli Canon: Pāli root texts with Russian and English translations.

Comment installer Dhamma.Gift — Pāli Canon ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http dhamma-gift-p-li-canon 'https://api.dhamma.gift/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Dhamma.Gift — Pāli Canon ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

Dhamma.Gift — Pāli Canon est-il open source ?

Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.

Qui maintient Dhamma.Gift — Pāli Canon ?

Il est publié par dhammagift. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.