vix search
vix search searches packages in the local Vix Registry index.
Use it when you want to find packages by namespace, name, display name, description, or keywords before adding them to a project.
vix search jsonOverview
vix search is an offline registry search command.
It does not query GitHub directly. It does not fetch package repositories. It does not install anything. It only reads the local registry index stored on your machine. The local registry index is created and refreshed with:
vix registry syncThe search flow is:
local registry index
-> scan package JSON entries
-> score matching packages
-> sort results
-> print paginated outputUsage
vix search <query> [--page N] [--limit N]Basic examples
# Search for JSON packages
vix search json
# Search by namespace
vix search softadastra
# Search by package name
vix search core
# Search with pagination
vix search softadastra --page 2
# Change result count per page
vix search softadastra --limit 10
# Page and limit together
vix search softadastra --page 2 --limit 5Registry requirement
vix search requires the local registry index.
If the registry has not been synced, Vix reports:
registry not synced
Run: vix registry syncFix:
vix registry sync
vix search jsonRegistry location
vix search reads package entries from:
~/.vix/registry/index/indexEach package entry is a JSON file.
Example:
~/.vix/registry/index/index/softadastra.core.jsonYou can inspect the registry path with:
vix registry pathWhat search matches
vix search can match a query against:
package id
package name
namespace
displayName
description
keywordsFor a package entry like:
{
"namespace": "softadastra",
"name": "core",
"displayName": "Softadastra Core",
"description": "Foundational primitives for Softadastra systems.",
"keywords": ["core", "offline-first", "cpp"]
}These can match:
vix search softadastra
vix search core
vix search offline-first
vix search primitivesSearch scoring
Results are ranked by a simple score.
The strongest matches come first.
Scoring uses this order:
| Match field | Score |
|---|---|
| package id | 100 |
| name | 60 |
| namespace | 40 |
| display name | 25 |
| description | 20 |
| keywords | 15 |
This means an exact or partial match in the package id usually appears before a match only found in the description.
Case-insensitive search
Search is case-insensitive.
These are equivalent:
vix search softadastra
vix search Softadastra
vix search SOFTADASTRAMulti-word queries
If you pass several words, Vix joins them into one query.
Example:
vix search offline syncis treated as:
offline syncUse this for description-style searches.
Output
Example:
vix search softadastraOutput shape:
Search
• query : "softadastra"
• page : 1
• limit : 5
softadastra/softadastra (latest: 0.1.7)
Softadastra umbrella project for building core modules, optional apps, and top-level examples.
repo: https://github.com/softadastra/softadastra
softadastra/cli (latest: 0.4.2)
Modular command-line interface engine for Softadastra systems: parsing, command registry, handlers, interactive REPL, and structured terminal I/O.
repo: https://github.com/softadastra/cli
✔ Showing 1-5 of 17 result(s).
Page 1/4
Next: vix search "softadastra" --page 2 --limit 5Result fields
Each result can show:
| Field | Meaning |
|---|---|
| package id | The package name used by vix add. |
| latest | Latest version detected from the registry entry. |
| description | Package description from registry metadata. |
| repo | Package source repository URL. |
Example package id:
softadastra/coreYou can add it with:
vix add softadastra/coreLatest version
vix search prints the latest version for each package when available.
It checks the registry entry in this order:
latest field
versions objectIf latest exists, it uses that.
If latest is missing, it finds the latest SemVer version from the versions object.
Pagination
By default, vix search shows:
page: 1
limit: 5Use --page to move through results:
vix search softadastra --page 2Use --limit to change how many results are shown per page:
vix search softadastra --limit 10Use both together:
vix search softadastra --page 2 --limit 2Example output shape:
Search
• query : "softadastra"
• page : 2
• limit : 2
softadastra/core (latest: 1.7.0)
Foundational primitives for Softadastra systems: types, errors, ids, time, hash, and config.
repo: https://github.com/softadastra/core
softadastra/discovery (latest: 0.5.0)
Softadastra Discovery is a lightweight, offline-first discovery layer designed to find peers reliably across unstable networks.
repo: https://github.com/softadastra/discovery
✔ Showing 3-4 of 17 result(s).
Page 2/9
Next: vix search "softadastra" --page 3 --limit 2Limit behavior
--limit must be a positive number.
Valid:
vix search json --limit 1
vix search json --limit 10
vix search json --limit 100The maximum limit is clamped to:
100So if you pass:
vix search json --limit 500Vix uses:
100Page behavior
--page must be a positive number.
Valid:
vix search json --page 1
vix search json --page 2Invalid:
vix search json --page 0
vix search json --page abcIf the page is too high, Vix reports:
page out of range
Total pages: NSupported option forms
Both forms are supported:
vix search json --page 2 --limit 5and:
vix search json --page=2 --limit=5No results
If no package matches the query, Vix prints:
no results for "query"
Tip: search by namespace, name, description, or keywords
Example: vix search gaspardkiriraThis is not a registry error.
It only means no local registry entry matched the query.
Try:
vix registry sync
vix search <query>If it still returns no result, the package may not exist in the current registry index.
Invalid arguments
If arguments are invalid, Vix prints:
invalid search arguments
Usage: vix search <query> [--page N] [--limit N]
Example: vix search json --page 2 --limit 5Common invalid examples:
vix search
vix search json --page
vix search json --limit
vix search json --page 0
vix search json --limit 0Search before adding
A normal package discovery workflow is:
vix registry sync
vix search json
vix add gk/json
vix install
vix buildSearch gives you the correct package id.
Then vix add adds it to the project.
Then vix install prepares dependencies for the project.
Add a package from search results
If search returns:
softadastra/core (latest: 1.7.0)you can add it with:
vix add softadastra/coreor pin a version:
vix add softadastra/core@1.7.0Then install:
vix installSearch vs add
| Command | Purpose |
|---|---|
vix search <query> | Find packages in the local registry index. |
vix add <pkg> | Add a package dependency to the current project. |
Use search when you do not know the exact package id.
Use add when you know the exact package id.
Search vs registry sync
| Command | Purpose |
|---|---|
vix registry sync | Refresh local registry metadata. |
vix search <query> | Search that local metadata. |
If search results are stale, run:
vix registry syncthen search again.
Search vs install
| Command | Purpose |
|---|---|
vix search <query> | Find package metadata. |
vix install | Install exact dependencies from vix.lock. |
Search does not install anything.
Install does not search the registry for new packages.
Full workflow
# Refresh registry metadata
vix registry sync
# Search for a package
vix search json
# Add the exact package id
vix add gk/json@^1.0.0
# Install locked dependencies
vix install
# Build the project
vix buildOptions
| Option | Description |
|---|---|
--page N | Show page N. Default: 1. |
--page=N | Same as --page N. |
--limit N | Show up to N results per page. Default: 5, maximum: 100. |
--limit=N | Same as --limit N. |
-h, --help | Show command help. |
Commands reference
| Command | Description |
|---|---|
vix search json | Search for packages matching json. |
vix search softadastra | Search by namespace or metadata. |
vix search json --page 2 | Show page 2. |
vix search json --limit 20 | Show 20 results per page. |
vix search json --page 2 --limit 10 | Show page 2 with 10 results per page. |
Common workflows
Search after syncing registry
vix registry sync
vix search jsonSearch by namespace
vix search softadastraSearch with more results
vix search softadastra --limit 20Continue to next page
vix search softadastra --page 2 --limit 5Search and add
vix search core
vix add softadastra/core
vix installSearch and pin latest shown version
vix search softadastra/core
vix add softadastra/core@1.7.0
vix installCommon mistakes
Forgetting registry sync
Wrong:
vix search jsonwhen the registry has never been synced.
Correct:
vix registry sync
vix search jsonExpecting online search
vix search searches the local registry index.
It does not search GitHub live.
Refresh the local index with:
vix registry syncExpecting search to install packages
Wrong expectation:
vix search should install the packageCorrect workflow:
vix search json
vix add gk/json
vix installUsing a package description instead of package id with add
Search can match descriptions, but vix add needs the package id.
If search returns:
softadastra/coreuse:
vix add softadastra/corePassing invalid pagination values
Wrong:
vix search json --page 0
vix search json --limit 0
vix search json --page abcCorrect:
vix search json --page 1 --limit 5Asking for a page that does not exist
If Vix says:
page out of range
Total pages: 4use a page between 1 and 4.
Troubleshooting
Registry not synced
Run:
vix registry syncThen retry:
vix search jsonNo results
Try a broader query:
vix search json
vix search core
vix search softadastraThen sync and retry:
vix registry sync
vix search jsonResults look old
Refresh registry metadata:
vix registry syncThen search again.
Invalid search arguments
Check the expected format:
vix search <query> [--page N] [--limit N]Example:
vix search softadastra --page 2 --limit 5Page out of range
Use the total page count printed by Vix.
Example:
Total pages: 4Then run:
vix search softadastra --page 4Broken registry entry ignored
If a registry JSON file cannot be read, the current search implementation skips it.
Run:
vix registry syncto refresh the local registry clone.
Best practices
Run vix registry sync before searching if the registry may be stale.
Search by namespace when you know the author or organization.
Search by package name when you know the tool you need.
Search by keywords when you only know the category.
Use --limit when exploring many packages.
Copy the exact package id from the search result before running vix add.
Run vix install after adding dependencies.
Commit vix.json and vix.lock after dependency changes.
Related commands
| Command | Purpose |
|---|---|
vix registry sync | Refresh local registry metadata. |
vix registry path | Show local registry path. |
vix add | Add a registry package to a project. |
vix install | Install locked project dependencies. |
vix update | Re-resolve dependency versions. |
vix outdated | Check whether locked dependencies are behind registry latest. |
vix list | List project or global dependencies. |
vix publish | Publish a tagged package version to the registry. |
vix unpublish | Remove a package entry from the registry. |
vix store | Manage local package source checkouts. |
Next step
Add a package to your project.