#configuration #note #notes #note-taking #editor #kamiya


Library for interaction with Kamiya configuration

1 unstable release

0.1.0 Sep 10, 2023

#1722 in Database interfaces

Used in kamiya

GPL-3.0 license


🗒️ Kamiya Latest version

Kamiya is a no-nonsense note taking app that runs in terminal. It stores all your notes in database so it makes easier to store your notes.

✨ Features

  • Works faster. Kamiya is designed to be as fast as possible. To do this, we use modern technology.
  • Lightweight database. Kamiya's database have a small size so it can fit for users who care about file sizes.
  • Easy to use. Kamiya has nothing hard to do for regular user. Only you need is have any terminal.
  • Easy to backup. You can backup your notes database by yourself or with integrated tools.
  • Best choice for terminal. If you are a regular terminal user or using editors like (neo)vim, and you need to make notes - it's a good choice for you.

💾 Installation

You have some ways to install Kamiya. Here is some of possible:

Install with cargo
  1. Install rustup and install latest stable Rust toolchain.
  2. Install compiler that required for your system.
  3. Run cargo install kamiya and wait until cargo build Kamiya for you.
  4. After build you can run Kamiya from your terminal!
Install from releases
  1. Go to releases page.
  2. Download a version that matches your OS and architecture.
  3. Unpack executable file from archive and place it in directory which is exists in PATH variable.
  4. (Additional) Make file executable if it's not.
Build from source
  1. Install rustup and install latest stable Rust toolchain.
  2. Clone this repository and enter their directory.
  3. Run cargo build to compile debug executable, or cargo build --release to compile optimized executable. If you have encountered some problems when compiling Kamiya on Windows, try to compile it with WSL.
  4. Executable file will appear in /target/[debug, release] directory. You can move them to directory which exists in PATH variable.

⌨️ Usage


Kamiya have an easy usage structure.

kamiya <command> [argument, ..]

Some commands dont require arguments.

Take your first note.

To make note, use take command and pass content to save.

kamiya take "This content will be saved."

Also, you can provide a name for your note with --name or -n argument. If not, Kamiya will generate the name for you note depending on configuration.

kamiya take "This content will be saved." -n "My Awesome Note"
View saved notes.

You can check for notes which are saved in your database with list command.

kamiya list
Search for notes.

You can search for note that you need. Just use search command and pass the name of note that you need to find.

kamiya search "My Awesome Note"

It's not necessary to specify the full name of the note. It's enough to write part of his name, and Kamiya will find notes with similar characters in the name.

kamiya search Awesome
Get content of notes.

You can use get command to get the content of note by passing the name of note.

kamiya get "My Awesome Note"
Get help.

Just use help command to get full list of available commands or --help to get help about specific command.

kamiya help        # Get list of available commands.
kamiya take --help # Get help for `take` command.

⚙️ Configuration

The first time Kamiya is started, it will create a configuration file in the user's .config directory called kamiya.yml. It's a YAML file and has the following structure.

    name_template: NewNote&i
    editor: nano
entries: []
  • name_template - An example of a title for a new note. Note that the contents of this option must contain &i, otherwise the program will give an error.
  • editor - Which editor will be opened to edit note content.
  • entries - Array of notes that you have saved. Do not edit.

📨 Reporting problems

If you encounter a problem, feel free to report about it on GitHub or GitLab issues of Kamiya.

📦 Contribution

We are welcome new contributors to Kamiya! Feel free to fork this reposotiry, make changes that you want to suggest and create merge request.


~23K SLoC