open-index/open-npm huggingface dataset:
npm package: @lo-fi/cli
Description: Schema management tools for lo-fi
Latest version: 2.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# lo-fi code generator CLI

## Generate a client from schema

Beginning with a schema file like this:

```ts
const todoCollection = collection({
	name: 'todo',
	primaryKey: 'id',
	fields: {
		id: { type: 'string', indexed: true, unique: true },
		content: {
			type: 'string',
			indexed: false,
			unique: false,
		},
		done: {
			type: 'boolean',
		},
		tags: {
			type: 'array',
			items: {
				type: 'string',
			},
		},
		category: {
			type: 'string',
		},
		attachments: {
			type: 'array',
			items: {
				type: 'object',
				properties: {
					name: {
						type: 'string',
					},
				},
			},
		},
	},
	synthetics: {
		example: {
			type: 'string',
			compute: (doc) => doc.content,
			unique: false,
		},
	},
	compounds: {
		tagsSortedByDone: {
			of: ['tags', 'done'],
		},
		categorySortedByDone: {
			of: ['category', 'done'],
		},
	},
});

export default schema({
	version: 1,
	collections: {
		todo: todoCollection,
	},
});
```

Point the CLI to the location of your schema file and give it an output directory path to create the client module in.
npm package: @lo-fi/client-storage
Description: This project has been moved to [@byojs/storage](https://www.npmjs.com/package/@byojs/storage).
Latest version: 0.10.2
Deprecated: project moved to @byojs/storage

# Client Storage

This project has been moved to [@byojs/storage](https://www.npmjs.com/package/@byojs/storage).
npm package: @lo-fi/react-router
Description: A small, client-focused router for React with cutting-edge Suspense and Transitions support. Designed to make your PWA feel like a native app.
Latest version: 0.1.4
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @lo-fi/react-router

A small, client-focused router for React with cutting-edge Suspense and Transitions support. Designed to make your PWA feel like a native app.

## Usage

See the [lo-fi docs](https://lo-fi.gfor.rest/docs/react-router)
npm package: @lo-fi/server
Description: This server is designed to sync data from clients. That includes replication between clients and realtime updates, including presence.
Latest version: 1.7.8
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# lo-fi server

This server is designed to sync data from clients. That includes replication between clients and realtime updates, including presence.

The server includes flexibility of transport - using either websockets or push/pull HTTP requests. To do this cleanly, the concept of a `clientKey` is employed. Each client connection (socket or individual request) is assigned a key and added to a collection (based on its associated library). When the server responds to a client, abstractly, it submits that response to the client's key. The connection management code then either sends that response as a socket message, or includes it in the HTTP response.
npm package: @lo1/cli
Description: lo1 — Multi-service local dev environment
Latest version: 0.2.3

# @lo1/cli

CLI for [lo1](../../README.md) - A multi-service local development environment.

## Installation

```bash
bun install -g @lo1/cli    # Bun
npm install -g @lo1/cli    # npm
yarn global add @lo1/cli   # Yarn
pnpm add -g @lo1/cli       # pnpm
```

## Commands

| Command         | Description                                                     |
| --------------- | --------------------------------------------------------------- |
| `lo1 init`      | Initialize workspace — clone repositories defined in `lo1.yaml` |
| `lo1 up`        | Start all services and infrastructure                           |
| `lo1 down`      | Stop all services and infrastructure                            |
| `lo1 status`    | Show status of all services                                     |
| `lo1 hosts`     | Manage `/etc/hosts` entries for local domains                   |
| `lo1 tls-setup` | Generate locally-trusted TLS certificates via mkcert            |

## Usage

```bash
# Initialize workspace (clone repos, set up infra)
lo1 init

# Start everything
lo1 up

# Start specific services
lo1 up api frontend

# Check status
lo1 status

# Stop everything
lo1 down
```

## Configuration

The CLI reads `lo1.yaml` from the current directory. See the [@lo1/sdk README](../sdk/README.md) for schema details.
npm package: @lo1/plugin-celerity
Description: Celerity plugin for lo1 — blueprint-driven compose, provisioning, seeding, and runtime
Latest version: 0.2.3

# @lo1/plugin-celerity

[Celerity](https://celerityframework.io) plugin for [lo1](../../README.md) — blueprint-driven compose generation, infrastructure provisioning, data seeding, and runtime configuration.

## Installation

```bash
bun add @lo1/plugin-celerity
```

## Configuration

Register the plugin in your `lo1.yaml`:

```yaml
version: "1"
name: my-project

plugins:
  celerity: "@lo1/plugin-celerity"

services:
  api:
    type: celerity
    path: ./services/api
    port: 8080
```

## Plugin Lifecycle

| Method | Description |
|---|---|
| `contributeCompose` | Reads Celerity blueprints and generates Docker Compose service definitions for local infrastructure (queues, topics, datastores) |
| `provisionInfra` | Creates infrastructure resources (tables, buckets, schemas) after the compose stack is healthy |
| `seedData` | Applies seed data to provisioned infrastructure |
| `configureContainer` | Returns container configuration for running a Celerity service in container mode |
| `watchForChanges` | Watches blueprint and source files for changes, yielding restart signals |

## Status

This plugin is a placeholder for future implementation. The lifecycle methods will be implemented as part of the lo1 L8 milestone.
npm package: @lo1/sdk
Description: Plugin SDK for lo1 — types, config schemas, and utilities for plugin authors
Latest version: 0.2.3

# @lo1/sdk

Plugin SDK for [lo1](../../README.md) — types, configuration schemas, and utilities for plugin authors.

## Installation

```bash
bun add @lo1/sdk
```

## Usage

### Plugin authoring

```typescript
import type { PluginFactory } from "@lo1/sdk";

const createPlugin: PluginFactory = (context) => {
  return {
    name: "my-plugin",

    async contributeCompose(input) {
      // Return Docker Compose service definitions for shared infrastructure
    },

    async provisionInfra(input) {
      // Create infrastructure resources (tables, buckets, schemas)
    },

    async seedData(input) {
      // Apply seed data to provisioned infrastructure
    },
  };
};

export default createPlugin;
```

### Configuration validation

```typescript
import { workspaceSchema } from "@lo1/sdk";

const result = workspaceSchema.safeParse(rawConfig);
if (!result.success) {
  console.error(result.error.issues);
}
```

### JSON Schema

A generated JSON Schema is available for IDE autocompletion:

```json
{
  "$schema": "https://lo1.dev/schemas/lo1.v1.schema.json"
}
```

Or reference the published schema file:

```typescript
import "@lo1/sdk/schemas/lo1.v1.schema.json";
```

## Exports

- **Plugin types** — `Plugin`, `PluginFactory`, `PluginContext`, `Logger`
- **Lifecycle types** — `ComposeInput`, `ComposeContribution`, `ProvisionInput`, `ProvisionResult`, `SeedInput`, `SeedResult`, `ContainerInput`, `ContainerConfig`, `WatchInput`, `RestartSignal`
- **Config schemas** (Zod) — `workspaceSchema`, `serviceConfigSchema`, `proxyConfigSchema`, `tlsConfigSchema`, `serviceHooksSchema`, `workspaceHooksSchema`
- **Config types** — `WorkspaceConfig`, `ServiceConfig`, `ProxyConfig`, `TlsConfig`, `ServiceHooks`, `WorkspaceHooks`