# 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.