open-index/open-npm huggingface dataset:
npm package: @shelby-protocol/cli
Description: > **Shelby** – A CLI tool for preparing, uploading, and reading data on Shelby.
Latest version: 0.0.27

# @shelby-protocol/cli

> **Shelby** – A CLI tool for preparing, uploading, and reading data on Shelby.

## Installation

### For End Users

Install globally via npm:

```bash
npm install -g @shelby-protocol/cli
```

Verify installation:

```bash
shelby --version
```

## Scripts

| Script  | Command                           | Description                              |
| ------- | --------------------------------- | ---------------------------------------- |
| `lint`  | `biome check .`                   | Run linter to catch style & error issues |
| `fmt`   | `biome check . --write`           | Auto-format and fix issues               |
| `build` | `rimraf dist && rimraf bin; tsup` | Clean & bundle the CLI into `dist/`      |
| `start` | `node dist/entry.js`              | Run the compiled CLI (production build)  |
| `test`  | `vitest run`                      | Run the test suite once (CI / pre-commit)|

## NPM Release

1. Bump version
2. Run `npm publish`

## Contributing

### Development Setup

```bash
# Install dependencies
pnpm install --frozen-lockfile

# Run from typescript dir / turborepo root
# This ensures dependencies are also built (i.e., sdk)
pnpm build --filter @shelby-protocol/cli

# Local testing
pnpm start

# Or link globally for testing
pnpm link --global
shelby <command> [options]
```

### Development Workflow

```bash
# Run linter
pnpm lint

# Auto-format code
pnpm fmt

# Run tests
pnpm test

# Build
pnpm build
```

### Testing Commands

During development, you can test CLI commands using `pnpm dev` instead of `shelby`:

```bash
# Instead of: shelby init
pnpm dev init

# Instead of: shelby upload <input> <output> -e <expiration>
pnpm dev upload ./myfile.txt myfile.txt -e 1735689600

# Instead of: shelby account list
pnpm dev account list
```
npm package: @shelby-protocol/reed-solomon
Description: ## Description
Latest version: 0.0.1

# @shelby-protocol/reed-solomon

## Description

This package provides a WASM-based implementation of Reed–Solomon encoding and decoding.

## Installation

```bash
# From your package or app
pnpm install @shelby-protocol/reed-solomon
```

## Building

Because this is a TypeScript package shim relying on native bindings, you must build it before consuming it in our turborepo setup:

```bash
# From the @shelby-protocol/reed-solomon package directory
pnpm run build
```

This will compile `src/index.ts` into `dist/index.js` and update the `package.json` `main`/`module` entries. Only after building can other packages import `@shelby-protocol/reed-solomon` successfully.

## Why the shim?

- **Type safety**: We provide TypeScript type signatures for all core functions.
- **Monorepo compatibility**: Ensures consistent import paths and build artifacts across workspaces.