DigitableCourses
Portal settings
Show me around

Local and account-free. No account, no sign-up: whatever you type into the tools stays in this browser's localStorage and never reaches a server.

Our own counter records page opens and finishes: the address leaves, plus one tenth-of-the-text figure. No cookies, no outside trackers, your IP is not stored, Do Not Track is honoured. How to check that

The portal's own repository is not published, so we do not call it open source. What is open:

The portal lives on donations, paid consultations and requested write-ups, and on Workbench sales.

There are no plans to make the courses paid.

Tasks and integration catalog: digit tasks and digit workbench

The `digit tasks` and `digit workbench` commands: a shared Taskwarrior task base for multiple agents and an owner, with mandatory UUIDs, and a Workbench integration catalog — the installation path, connection steps, and terms of service read directly from the portal data.

Tasks and Integration Catalog

Two teams working on the same property: to look up, not to remember. Both read the same source and both refuse to work based on the agent’s memory.

digit tasks — shared task board

Several agents and the owner are working on the same database .digitable-tasks. Hence, the only significant decision of this team.

digit tasks list --project DIGIT
digit tasks add --project DIGIT 'что должно стать правдой'
digit tasks show <uuid>
digit tasks note <uuid> 'чем это подтверждается'
digit tasks done <uuid> --note 'чем это подтверждается'

The task is called only uuid

Short positional numbers in Taskwarrior are recalculated each time the set of open tasks changes. A link read before closing will, after closing, point to a different task. Therefore, the positional numbers command rejects—with a return code of 2—instead of relying on the caller’s memory.

This is inconvenient exactly once: the UUID has to be copied. In return, closing the task cannot end up in the wrong line. Live run:

$ digit tasks show 3
  refused: '3' is a positional id, not a uuid. Positional ids are recomputed
  whenever the pending set changes, so closing one task renumbers the rest and
  this reference can point at a different task than the one you read.
$ echo $?
2

The list itself prints the UUID in the first column, and there is no positional number in it at all – there is nothing to copy except the correct one:

$ digit tasks list --project DIGIT
  uuid                                  project     description
  ------------------------------------  ----------  --------------------------------
  917bbecf-1769-4d93-bd18-ebc8e96caaa0  DIGIT       DGT-DIGIT-02 — Инструменты Work…
  d6d85967-1e7c-4370-b6f1-a00066244893  DIGIT       DGT-DIGIT-03 — Разбор намерения…

Clarifications during creation: --project, --tag (multiple allowed), --priority H|M|L. list has --status pending|completed|all (by default, they are open) and --json. The database catalog is taken from tasks.data_dir in config.yaml, otherwise from $TASKDATA, otherwise the catalog .digitable-tasks is searched for upwards from the working directory.

The problem statement is about “what should be true,” not “what to do”: the first form has a verifiable completion condition, while the second does not.

digit workbench — integration catalog

The cards are read directly from the portal’s repository (data/workbench-integrations.toml), so the installation path and connection steps are viewed, not memorized by the agent.

digit workbench list
digit workbench list --category editors
digit workbench list --caveats
digit workbench show neovim
digit workbench search tmux
digit workbench categories

Live run on the current state of the directory:

$ digit workbench categories
  category      cards  title
  ------------  -----  ----------------------------------------
  terminals        12  Терминалы и мультиплексоры
  cli              15  CLI-инструменты
  editors           8  Редакторы и IDE
  apps             15  Приложения
  mcp               2  MCP-серверы

  52 integration(s)

The disclaimer is printed above the steps.

Cards marked with ! contain a disclaimer: the goal of where to copy the files is not the entire task. A client mod is against the terms of use, an extension that requires your own signature, a component that is intentionally not included in the paid archive. At the time of this page, there are 11 out of 52 such cards, and show always prints the disclaimer before the steps, not as a footnote.

Example of a complete card:

$ digit workbench show neovim
  id          neovim
  category    editors (Редакторы и IDE)
  files       3 файла в `colors/`
  dest        ~/.config/nvim/colors/
  available   in archive

  steps
    1. Скопируйте схемы в каталог конфигурации: `cp colors/*.lua ~/.config/nvim/colors/`.
    2. Включите truecolor и выберите палитру в `init.lua`.
    3. Или переключайтесь на ходу: `:colorscheme digitable-focus-paper`.

search searches not only by names, but also by stages and caveats: most often, a person remembers not the name of the card, but what is written in it.

Boundaries

digit tasks requires Taskwarrior to be installed and a database to be available; otherwise, the command will fail instead of creating one.

digit workbench displays the contents of the portal’s directory at the time of your copy: if the course repository is not found, the path to it is specified using the --catalog flag or the workbench.catalog key in config.yaml. The numbers above—52 cards and 11 caveats—are accurate as of the date of this page and change along with the directory; the command always prints its own.

The same catalog is published on the portal: Workbench integrations. A free guide on how to connect Digit is available here.

Spotted a mistake? Select a fragment of the text — a bug icon will appear next to it.

Нужен разбор именно вашей ситуации?

Статья описывает общий случай. Если у вас частный — можно разобрать его отдельно, платно. А если не хватает целого материала, предложите тему: её оплачивают вскладчину, и она выходит открытой для всех.

Доска запросов
Next