Jasn Package Manager / docs
Your registry, your rules.
01
Overview
JPM is a developer-focused package manager that downloads tools from a remote registry and tracks every installation locally. It resolves semver constraints and runs install steps defined in a minimal instruction format.
InfoThe registry lives in Turso/libSQL; your machine keeps a local SQLite database of installs and history.
02
Requirements
- Go 1.24.4+
- A Turso account with database URL and auth token
- config/.env with URL and TOKEN values
WarningThe config is embedded at build time using Go embed, so config/.env must exist before building.
03
Installation
Build from source
bashgit clone https://github.com/JasnRathore/jpm cd jpm
bashprintf "URL=libsql://your-db.turso.io TOKEN=your-token " > config/.env
bashgo build -o jpm .
Download release
Download the latest binary, place config/.env next to it, then initialize the local database.
Downloads disabledPublic binaries are disabled while JPM is in active development.
04
Initialize Database
JPM stores local history and tracked files in jpm.db. Initialize it once before use:
bash./jpm initdb
InfoSafe to run multiple times — it will not overwrite existing data.
05
Commands
| Command | Description |
|---|---|
| initdb | Initialize local SQLite schema |
| search [name] | Browse or search packages |
| install <name>[@version] | Download and install a package |
| list | Show installed packages |
| update [name] | Update one or all packages |
| remove <name> | Uninstall a package |
| info <name> | Show detailed package info |
06
Examples
bash./jpm search nodejs ./jpm search nodejs --all ./jpm install nodejs@^1.2.0 ./jpm list --outdated ./jpm update --all
07
How Installation Works
- Fetch metadata from the Turso registry.
- Resolve semver constraints to a release.
- Download and verify the archive checksum.
- Parse the release instruction list.
- Execute steps (extract, move, add PATH, etc.).
- Record everything into jpm.db.
08
Instruction Language
text# Example instruction set EXTRACT app-v1.2.3.zip CHMOD app/bin/mytool SET_LOCATION app/ ADD_TO_PATH app/bin DELETE app-v1.2.3.zip
| Instruction | Description |
|---|---|
| EXTRACT <file> | Unpack a zip/tar archive |
| CHMOD <path> | Apply executable permissions |
| SET_LOCATION <dir> | Set install location |
| ADD_TO_PATH <dir> | Append a directory to PATH |
| DELETE <path> | Remove a file or folder |