como/README.md
kjuulh c718124e85
feat: with beginning of omnia
Signed-off-by: kjuulh <contact@kjuulh.io>
2023-12-10 19:45:40 +01:00

3.2 KiB

Omnia

Omnia is a tool to provide a common platform for everything. It is a tool build to support note-taking, handling personal relationships, project development, todos, research, up-keep of external work, and much more.

This may seem like a large list of tasks, and it is. However, Omnia is designed to be opinionated, and provide a minimalistic approach to each of the above. Omnia is not a general purpose tool, text editing tool, it is designed to fit into your existing toolstack, with its opinionated project structure, and workflow.

Alternatives to this tool:

  • Notion: with second brain templates etc.
  • Obsidian: with zen garden templates etc.

Omnia is a commandline tool, which functions using a terminal ui, or pure cli commands. Called interactive for the former, and prompt for the latter. It is designed to work with your favorite EDITOR, to keep the scope of this project reasonable, Omnia doesn't try to bundle with an editor. Instead it will respect your OMNIA_EDITOR, or EDITOR environment variables, and launch the files using those.

How to use Omnia

To launch the fully interactive view, simply type omnia in your shell of choice. This will boot up the TUI, press ? for help and it will show a brief, menu as well as the most common keybinds.

Following each command will be shown separately, these will be available in the UI as well, just follow along in the menu, or use the command key : to open the command palette.

Commands

In Omnia everything is designed to use Markdown files, even the templates are markdown files, though with some special syntax to make prompting easier. This also means that you can open your local ~/omnia directory using your favorite editor, as everything is just markdown files.

Projects are the cornerstone of how Omnia functions. Every navigation item is a project, be they todo lists, research items, external sites etc. Projects can be nested, and projects can contain pages. External apps can be configured as a project, and will need a certain interface to be functional.

This means that when you type a command:

omnia --help, each subcommand will be a project, some keywords are reserved: (todo, inbox, project, etc.), each project decides which commands are available, and this is fully customizeable, through our plugin system. Though note that we ship the default view with a set of preconfigured plugins:

  • todo
  • inbox
  • projects
  • areas

Typing each of the commands above will open the fully interactive tui: omnia todo. Todo has a set of commands available to it: omnia todo create as an example. This will open the prompt view, which will interactive ask the user to fill out a form. These questions will also be available using commandline flags as well.

Views

Some of the projects are built as views, this may be a list of recent notifications on github, apis of interest, metrics and whatnot.

Remote first

Omnia will sync remote first in nearly all cases. The only exception is in progress forms and whatnot. This is to keep complexity down, as well as making sure Omnia is as easily crossplatform as possible. You should be able to use Omnia from all your terminal capable devices. This sprung out of my own need for having my notes available everywhere, without having conflicts.