Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/SGizek/Raiku/llms.txt

Use this file to discover all available pages before exploring further.

Raiku is distributed as a Python package and installed directly from its GitHub repository — no PyPI account, no package registry login. Once installed, a single raiku sync pulls the entire package index to your machine so all subsequent searches and installs work offline against that cached snapshot. The walkthrough below takes you from zero to a running package install in under two minutes.

Prerequisites

Before you begin, make sure you have the following available on your system:
  • Python 3.10 or later — Raiku’s CLI and core are written in Python and require >=3.10.
  • git — used to clone the Raiku repository for installation.
  • A build tool for your target language — for example, pip for Python packages, cargo for Rust, gcc for C/C++, go for Go. Run raiku doctor after installing to check which tools are present.

Installation and First Package

1

Clone and install the Raiku CLI

Clone the repository and install it as an editable package so the raiku command is immediately available on your PATH:
git clone https://github.com/SGizek/Raiku
cd Raiku
pip install -e .
The pip install -e . command reads pyproject.toml, installs all runtime dependencies (click, rich, requests, pyyaml, cerberus, packaging, tomli-w), and registers the raiku entry point defined in [project.scripts].
2

Verify the installation

Confirm that the CLI is on your PATH and reports the correct version:
raiku --version
Expected output:
raiku, version 1.0.0
If the command is not found, ensure the Python scripts directory (e.g. ~/.local/bin on Linux/macOS or %APPDATA%\Python\Scripts on Windows) is included in your PATH.
3

Sync the package index

Pull the latest index.json from GitHub and cache it at ~/.raiku/index.json:
raiku sync
Raiku fetches from https://raw.githubusercontent.com/SGizek/Raiku/main/index/index.json. This is the only network request needed before you can search and install packages. Re-run raiku sync at any time to pick up newly published packages.
4

Search for a package

Search the local index by name, description, author, or tag:
raiku search math
You can narrow results by language or tag:
raiku search queue --language Go
raiku search utils --tag collections
Raiku prints a formatted table showing each matching package’s name, language, version, and description — all from the locally cached index, no network call required.
5

Install a package

Install a package by name:
raiku install fast-math
Raiku will:
  1. Resolve transitive dependencies and install them first
  2. Fetch only the required package files via raw GitHub URLs
  3. Display real-time download progress
  4. Validate the package schema against schemas/schema.yml
  5. Verify the downloaded files’ SHA-256 hash against the index entry
  6. Cache the files at ~/.raiku/cache/Python/fast-math/<version>/
  7. Show you the build command and ask for approval (safe mode)
  8. Execute the build command in a restricted subprocess environment
Safe mode is on by default. At step 7, Raiku displays the exact build command the package manifest specifies and waits for your explicit y / n confirmation before running anything. You can permanently trust a package with raiku trust add fast-math to skip the prompt on future installs and updates.
You can also install directly from a local directory during development:
raiku install ./my-local-package
6

Check installed packages

List every package currently in your local cache:
raiku list
To see which installed packages have newer versions available in the index:
raiku outdated
And to update everything at once (version pins are respected):
raiku update --all

Safe Mode Explained

Raiku’s safe mode (safe_mode = true in ~/.raiku/config.toml) is enabled by default and applies to every install, update, and from-lock operation. Before any build command is executed, Raiku prints the full command string and prompts:
Build command: pip install -e .
Run this command? [y/N]
Additionally, a static blocklist of dangerous shell patterns — including rm -rf, eval(, os.system, subprocess.Popen, and others — is scanned before the prompt is even shown. If a forbidden pattern is detected, the build is blocked unconditionally, regardless of safe mode setting.

Next Steps

Managing Packages

Update, uninstall, pin, audit, and roll back packages.

Lock Files

Use raiku.lock for reproducible installs in teams and CI.

Creating a Package

Scaffold a new package with raiku init and publish it to the registry.

Build docs developers (and LLMs) love