Logo
User guide

Armory

The Armory is where you browse, install, and manage .shuriken packages.

What is the Armory?

The Armory displays distributable shuriken packages with metadata including:

  • Name, ID, and version
  • Platform compatibility
  • Synopsis and description
  • Authors and license
  • Post-install scripts

Installing Packages

Via GUI

  1. Click Install local file
  2. Select a .shuriken file
  3. Review metadata preview
  4. Confirm installation

Via CLI

shurikenctl install path/to/package.shuriken

Installation Process

When you install a .shuriken package, Ninja:

  1. Validates the magic bytes (HSRZEG)
  2. Reads CBOR-encoded metadata
  3. Verifies SHA-256 signature
  4. Extracts tar.gz archive to ~/.ninja/shurikens/{name}/
  5. Runs post-install script if specified

Package Format

.shuriken files contain:

[MAGIC]              6 bytes  - "HSRZEG"
[metadata_length]    2 bytes  - u16 little-endian
[metadata]           N bytes  - CBOR-encoded
[archive_length]     4 bytes  - u32 little-endian
[archive]            N bytes  - tar.gz
[signature]          32 bytes - SHA-256

Managing Packages

View Installed

shurikenctl list

Uninstall

shurikenctl remove {name}

Upgrade

Install a newer version with the same ID:

shurikenctl install path/to/package-v2.shuriken

Creating Packages

Build distributable packages with the forge command:

shurikenctl forge

This creates a .shuriken file in the blacksmith/ directory with:

  • CBOR metadata
  • Compressed archive
  • SHA-256 signature

See Developer Guide for packaging details.

Platform Compatibility

Packages specify target platforms:

  • linux-x86_64
  • windows-x86_64
  • macos-aarch64
  • any (platform-independent)

Ninja validates platform compatibility during installation.

See also: CLI Reference, Configuration Format

On this page