open-index/open-npm huggingface dataset:
npm package: @nara-web/inertia-svelte
Description: Svelte 5 + Inertia.js adapter for NARA
Latest version: 1.0.7

# @nara/inertia-svelte

Svelte 5 + Inertia.js adapter for the NARA framework.

## Installation

```bash
npm install @nara/inertia-svelte
```

## Usage

### 1. Register the Adapter

In your Nara application entry point (e.g., `app/index.ts` or `server.ts`):

```typescript
import { Nara } from '@nara/core';
import { svelteAdapter } from '@nara/inertia-svelte';

const app = new Nara({
  adapter: svelteAdapter({
    title: 'My Nara App',
    version: '1.0.0'
  })
});

app.start();
```

### 2. Configure Vite

In your `vite.config.ts`:

```typescript
import { createViteConfig } from '@nara/inertia-svelte';

export default createViteConfig({
  root: 'resources',
  outDir: '../dist'
});
```

### 3. Using in Controllers

```typescript
export const index = async (req, res) => {
  return res.inertia('Home', {
    message: 'Welcome to NARA!'
  });
};
```

## Features

- **Standardized Inertia Protocol**: Handles `X-Inertia` headers, versioning, and JSON/HTML response switching automatically.
- **Svelte 5 Support**: Optimized for the latest Svelte version.
- **Vite Helper**: Pre-configured Vite settings for NARA directory structure.
- **Automatic Assets Rewriting**: In development mode, automatically rewrites asset paths to point to the Vite dev server.

## License

MIT
npm package: @nara-web/inertia-vue
Description: Vue 3 + Inertia.js adapter for NARA
Latest version: 1.0.2

# @nara/inertia-vue

Vue 3 + Inertia.js adapter for the NARA framework.

## Installation

```bash
npm install @nara/inertia-vue @inertiajs/vue3 vue
```

## Usage

### Server-side

Register the Vue adapter in your NARA application:

```typescript
// app/index.ts or server.ts
import { vueAdapter } from '@nara/inertia-vue';

const app = new Nara({
  adapter: vueAdapter({
    rootView: 'inertia.html',
  }),
});
```

### Client-side

Initialize the Inertia app in your client entry point:

```typescript
// resources/js/app.ts
import { initInertiaApp } from '@nara/inertia-vue';

initInertiaApp({
  resolve: (name) => import(`./pages/${name}.vue`),
});
```

### Vite Configuration

Use the provided helper to configure Vite:

```typescript
// vite.config.ts
import { defineConfig } from 'vite';
import { createViteConfig } from '@nara/inertia-vue';

export default defineConfig(
  createViteConfig()
);
```

## License

MIT
npm package: @narai/claude-usage-cli
Description: Terminal dashboard for monitoring Claude Code usage across accounts
Latest version: 1.1.0

# @narai/claude-usage-cli

Terminal dashboard for monitoring Claude Code usage across multiple accounts.

[npm](https://www.npmjs.com/package/@narai/claude-usage-cli) | [GitHub](https://github.com/narailabs/claude-usage-cli)

## Install

```bash
npm install -g @narai/claude-usage-cli
```

## Usage

```bash
claude-usage                # Live-refreshing dashboard
claude-usage config         # Interactive account management
claude-usage auth <name>    # Add OAuth account via browser flow
claude-usage admin <name> <key>  # Add admin API key account
claude-usage remove <name>  # Remove a saved account
claude-usage list           # List saved accounts
```

## Options

| Flag | Description |
|------|-------------|
| `-d, --days <number>` | Admin API lookback period in days (default: 7) |
| `-i, --interval <seconds>` | Refresh interval (default: 30) |
| `-e, --show-email` | Show email instead of account name for OAuth |
| `-c, --compact` | Compact single-line layout |
| `-f, --full` | Full layout with progress bars |
| `-a, --anonymous` | Replace account names with sequential numbers |
| `--no-color` | Disable colored output |
| `-h, --help` | Show help |

## Dashboard

The full dashboard shows two sections:

- **Subscription** — OAuth accounts with session/weekly usage and Sonnet breakdown
- **API** — Admin API accounts with token counts, cost, and period

Compact mode (`-c`) outputs a flat list without headers or separators, suitable for embedding in status bars or scripts.

Full mode (`-f`) renders visual progress bars for each usage window per account, with per-model token breakdowns for API accounts.

## Account Types

**OAuth accounts** authenticate via browser flow and show rate limit utilization (session, weekly, per-model).

**Admin API accounts** use an Anthropic admin API key and show token usage, estimated cost, and billing period.

## License

MIT
npm package: @narainmittal/maze-generator
Description: randomized maze genrator in a grid format
Author: Narain Mittal
Latest version: 2.0.1

# About
Utility to generate randomized maze in a grid format. The grid format is supplied as input. This is based on recursive backtracking algorithm. Output consists of 2D array of blocks with corresponding indexes and flags to indicate the maze path.

# Usage

Install the package locally as a dependency 

```
npm install -S @narainmittal/maze-generator
```

OR

Install the package globally

```
npm install -g @narainmittal/maze-generator
```

Post install make a call to the api with rows and columns as input
```
const maze = require('@narainmittal/maze-generator');

console.log(JSON.stringify(maze.generateMaze(10,10), null, 4));
```

Sample JSON output for 3*3 grid

```
{
    "rows": 3,
    "cols": 3,
    "blocks": [
        [
            {
                "x": 0,
                "y": 0,
                "dir": 13,
                "downWall": false,
                "leftWall": true
            },
            {
                "x": 0,
                "y": 1,
                "dir": 7,
                "downWall": true,
                "leftWall": true
            },
            {
                "x": 0,
                "y": 2,
                "dir": 9,
                "downWall": false,
                "leftWall": false
            }
        ],
        [
            {
                "x": 1,
                "y": 0,
                "dir": 12,
                "downWall": false,
                "leftWall": true
            },
            {
                "x": 1,
                "y": 1,
                "dir": 5,
                "downWall": false,
                "leftWall": true
            },
            {
                "x": 1,
                "y": 2,
                "dir": 8,
                "downWall": false,
                "leftWall": false
            }
        ],
        [
            {
                "x": 2,
                "y": 0,
                "dir": 6,
                "downWall": true,
                "leftWall": true
            },
            {
                "x": 2,
                "y": 1,
                "dir": 10,
                "downWall": true,
                "leftWall": false
            },
            {
                "x": 2,
                "y": 2,
                "dir": 14,
                "downWall": true,
                "leftWall": true
            }
        ]
    ]
}
```