gnosis 
- Description
- Knowledge System
- Latest
- gnosis-0.10.6.tar (.sig), 2026-May-08, 570 KiB
- Maintainer
- Thanos Apollo <public@thanosapollo.org>
- Website
- https://codeberg.org/thanosapollo/emacs-gnosis
- Browse ELPA's repository
- CGit or Gitweb
- All Dependencies
- compat (.tar), keymap-popup (.tar)
- Badge
- Manual
- gnosis
To install this package from Emacs, use package-install or list-packages.
Full description
1. Gnosis
Gnosis is a personal knowledge management and spaced repetition system for Emacs. It integrates two complementary subsystems in a single package: a Zettelkasten-style note system called nodes, and a flashcard-based self-testing system built around themata. Both subsystems share a single SQLite database, and their contents are linked together so that flashcard questions can refer directly to the notes they are drawn from.
1.1. Why Gnosis
Most spaced repetition tools treat flashcards as isolated units. You create a card, review it, and the system schedules the next review. The cards have no relationship to each other or to anything outside the review loop.
Most note-taking tools do the opposite: they help you build a web of interconnected ideas, but they offer no mechanism for systematically testing and reinforcing what you have written.
Gnosis bridges these two approaches. Your notes and your review material live in the same system, linked together. When you write a node about a topic, you can create themata whose questions reference that node. When you review, you can review all the questions linked to a given note, or follow the link graph to review related topics. The goal is a single system where understanding and recall reinforce each other.
1.2. Nodes
Nodes are Zettelkasten-style notes stored as plain org-mode files.
Each node is identified by a unique UUID stored as an #+id:
property. Nodes are indexed in the database so that they can be
searched, browsed by tag, and linked together using standard org-mode
[[id:UUID]] syntax.
1.3. Themata
A thema (plural themata) is a review card. Each thema consists of a keimenon (the question or prompt), an answer, and an optional parathema (supplementary context shown after the answer). Themata are reviewed using a spaced repetition algorithm that adapts the interval between reviews based on performance.
Themata support five question types: basic, double, MCQ, cloze, and mc-cloze.
1.4. The Link Between Nodes and Themata
When you write a node about a topic, you can create themata whose
keimenon or parathema contains an [[id:NODE-UUID]] link to that
node. Gnosis records these relationships so that you can later review
all themata associated with a particular node via
gnosis-review-topic.
Old versions
| gnosis-0.10.5.tar.lz | 2026-May-05 | 100 KiB |
| gnosis-0.10.4.tar.lz | 2026-Apr-29 | 98.6 KiB |
| gnosis-0.10.3.tar.lz | 2026-Apr-04 | 99.3 KiB |
| gnosis-0.10.2.tar.lz | 2026-Mar-31 | 99.2 KiB |
| gnosis-0.10.1.tar.lz | 2026-Mar-26 | 98.6 KiB |
| gnosis-0.9.0.tar.lz | 2026-Mar-17 | 88.9 KiB |
| gnosis-0.8.0.tar.lz | 2026-Mar-04 | 75.8 KiB |
| gnosis-0.7.0.tar.lz | 2026-Feb-24 | 54.6 KiB |
| gnosis-0.6.0.tar.lz | 2026-Jan-26 | 41.1 KiB |
| gnosis-0.5.8.tar.lz | 2025-Nov-08 | 40.2 KiB |
| gnosis-0.5.7.tar.lz | 2025-Oct-25 | 38.0 KiB |
| gnosis-0.5.6.tar.lz | 2025-Oct-15 | 38.1 KiB |
| gnosis-0.5.5.tar.lz | 2025-Aug-13 | 37.8 KiB |
| gnosis-0.5.4.tar.lz | 2025-Aug-01 | 37.8 KiB |
| gnosis-0.5.0.tar.lz | 2025-Jun-17 | 41.5 KiB |
| gnosis-0.4.10.tar.lz | 2024-Dec-10 | 40.8 KiB |
| gnosis-0.4.8.tar.lz | 2024-Nov-08 | 40.4 KiB |
| gnosis-0.4.7.tar.lz | 2024-Nov-07 | 40.6 KiB |
| gnosis-0.4.2.tar.lz | 2024-Sep-05 | 40.5 KiB |
| gnosis-0.4.1.tar.lz | 2024-Aug-19 | 39.1 KiB |
News
1. 0.10.6
- Dashboard sub-views use dedicated major modes instead of minor modes.
2. 0.10.5
2.1. Performance
- Defer link-issues computation to idle timer for faster dashboard load.
- Eliminate redundant database query per thema during review sessions.
2.2. Other
- Dashboard popup menus show item counts in the modeline.
- Improved error reporting in database migrations.
3. 0.10.3
3.1. Bug fixes
- Fix
gnosis-table-exists-pfailing to querysqlite_master. - Clean up orphaned
node-tagandnode-linksrows on file deletion.
4. 0.10.2
4.1. Performance
- Eliminate redundant GPG decryption on save for
.org.gpgfiles. - Git operations (add, commit, push) are now fully async.
4.2. Other
gnosis-journal-todo-keywordsdefaults to("TODO")instead of inheritingorg-todo-keywords.
5. 0.10.1
5.1. Algorithm
- Cap post-failure interval at 7 days to prevent overly lenient reschedules for mature cards.
5.2. Bug fixes
- Fix
gnosis-import-dbinitializing review state with wrong values, causing errors on first review of imported themata.
5.3. Other
- Demo collection shipped as
.gnosisinstead of org file.
6. 0.10.0
6.1. Breaking changes
- Date storage migrated to integers: review dates are now stored as YYYYMMDD integers instead of Lisp lists. Migration v7 converts existing data automatically.
- Export/import rewritten: export now produces a
.gnosisSQLite database. Import shows a diff buffer before applying.- Old org-file exports are no longer supported.
6.2. New features
- Anki GUID-based duplicate detection: re-importing the same deck skips already-imported notes (migration v8).
- Review progress header: header-line shows reviewed/total as a live counter.
- Import diff buffer:
gnosis-import-dbshows NEW/CHANGED entries with detail view onRETbefore applying. - Anki import improvements: template-aware field resolution,
NFC-normalized tags, system tag stripping (
marked,leech), git commit after import.
6.3. Performance
- Due/overdue queries use integer comparison in SQL instead of Elisp filtering.
- New indexes on
review_log,thema_tag,thema_links,node_links, andactivity_log. - N+1 queries eliminated in review session and Anki model parsing.
6.4. Bug fixes
- Fix proto phase failures computing amnesia-based interval instead of resetting to 0.
- Fix bulk-link matching to be case-insensitive.
- Fix duplicate node-link insertion for files.
- Fix overdue exclusion: unreviewed themata (n=0) no longer counted as overdue.
7. 0.9.0
7.1. Breaking changes
- Dropped emacsql dependency: gnosis now uses Emacs's built-in
sqlitemodule (requires Emacs 29+). The newgnosis-sqlitebackend handles all database access. - Unified database: org-gnosis has been merged into gnosis.
A single
gnosis.dbstores both themata and nodes. Existing org-gnosis data is migrated automatically. - Decks removed: the deck abstraction is gone. Existing deck names are automatically converted into tags during the v6 migration, so no data is lost. Export and import are now thema-centric with tag filtering.
7.2. New features
- Anki import: import Anki decks or user collections directly with
gnosis-anki-import. - Tag filtering:
gnosis-tags-filter-promptsupports+tag -tagsyntax for include/exclude filtering. Used in export andgnosis-collect-thema-ids. - Day start hour:
gnosis-algorithm-day-start-hour(default 3) lets you define when a new review day begins. - Tag bulk operations: rename, regex bulk rename (
R), merge case duplicates (C), bulk delete, and suspend/unsuspend from the dashboard tags view. Tag renames are merge-safe (handles UNIQUE conflicts when target tag already exists).
… …