open-index/open-npm huggingface dataset:
npm package: @nex_otaku/foreach
Description: Execute command for each file or directory
Author: Nex Otaku
Latest version: 1.1.0

# For Each

Apply a command to multiple files and directories with **ForEach**

```bash
# Remove all temporary files from home
foreach --file --mask "*.tmp" ~ rm

# List all files and directories in current directory
foreach . echo

# List current Git branch for all projects
foreach --directory ~/projects "cd <file> && git status | grep branch"

# Change all Windows line endings to Unix (CRLF to LF)
foreach --file --recursive ~/projects dos2unix

# Change all tabs to spaces in PHP source files
foreach --file --mask "*.php" --recursive ~/projects/myproject "expand -i -t 4 <file> | sponge <file>"
```

## How it works

 - Takes a path to directory optionally with a mask
 - Applies command **for each** file or directory in this path

## Options

Option | Description
--- | ---
**-d, --directory** | Apply command only to directories
**-f, --file** | Apply command only to files
**-r, --recursive** | Search recursively
**-m, --mask** | Search mask, applied only to search results
**--include-dot-directories** | Look inside directories with names started with dot - ".git", ".idea" etc. Ignoring these directories by default.
**--include-directories-ignored-by-git** | Do not use ".gitignore" rules. By default we skip all directories mentioned in ".gitignore".

## Getting Started

To use this tool, you need [NodeJS](https://nodejs.org/).

```
sudo npm install -g @nex_otaku/foreach
```

## Usage

```
foreach path/to/directory your-action
```

## Features

 - Recursive search is supported
 - Respects ".gitignore" rules
 - Skips directories with dot - ".git", ".idea" etc
 - Search can be limited to files or to directories
 - Search by mask

## To Be Done

 - Continue after failed commands
 - Remember last 10 commands
 - Input from file
 - Dry run mode


## License

[![License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://badges.mit-license.org)

- **[MIT license](http://opensource.org/licenses/mit-license.php)**
- Copyright 2021 © Nex Otaku.
npm package: @nex_otaku/httpok
Description: Simplest HTTP server
Author: Nex Otaku
Latest version: 1.0.0

# HTTPok

Simple HTTP server for webhook debugging.

![httpok PNG](https://raw.githubusercontent.com/Nex-Otaku/httpok/master/img/httpok-example.png)

## Features

 - Simplest ever HTTP server
 - Answers ```200 OK``` to any incoming request
 
## When to use it

You are building some API integration, and you need to accept webhook from some external service.

Before you rush to write code, you find it useful to first find out what format the data is being sent in.

Check what is sent to your webhook:

1. Start dummy HTTP server &mdash; **HTTPok**!
    ```bash
    httpok 8000
    ```

2. Start [ngrok](https://ngrok.com/) tunnel to dummy server.
    ```bash
    ngrok http 8000
    ```

3. Copy and paste ngrok URL, for example ```https://9017-92-244-247-26.ngrok.io``` to your service as Webhook URL.

Now, every time the service calls webhook, HTTP request will come to ngrok and then to your dummy server, answers ```HTTP 200 OK```.

Thanks to Ngrok you can see all content that is sent to webhook by service. Ngrok provides you a nice dashboard at http://127.0.0.1:4040

![Ngrok Dashboard PNG](https://raw.githubusercontent.com/Nex-Otaku/httpok/master/img/ngrok-dashboard.png)

You can use dummy HTTP server with or without any tool, not only Ngrok, it is just a useful example.
 

## Getting Started

### Prerequisites

For use this tool, you need

  * [Node.js](https://nodejs.org/)

```
sudo npm install -g @nex_otaku/httpok
```

## Usage

```
httpok <port>
```

## Alternatives

You can use a nice webservice https://httpdump.app

## License

[![License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://badges.mit-license.org)

- **[MIT license](http://opensource.org/licenses/mit-license.php)**
- Copyright 2021 © Nex Otaku.
npm package: @nex_otaku/maker
Description: Run Makefile commands from menu
Author: Nex Otaku
Latest version: 1.0.0

# Maker

Run commands from any **Makefile** selecting them from menu.

![maker PNG](https://github.com/Nex-Otaku/maker/blob/master/img/screenshot.png?raw=true)

## Install

To use this tool, you need [NodeJS](https://nodejs.org/).

```
sudo npm install -g @nex_otaku/maker
```

## Run!

```
cd projects/my-cool-project
maker
```

## How it works

- Reads Makefile in current directory
- Lists commands from Makefile in a nice menu

## What's the profit?

**Maker** does only one task - fast and convenient way to access all your precious Makefile commands.

It doesn't require anything to run, all what needed is already in a Makefile.

Before **Maker**, I had to remember all those "make bla bla" commands for every project I have. :tired_face:

I don't have to remember them anymore! :stuck_out_tongue_winking_eye:

Now I just type ```maker``` and command list is there. 

No need look inside Makefile. Select and run, in seconds! :sparkles:  

## Features

- Comment before a command is displayed as command name

## Example Makefile
```bash
# Build app
build:
    ./bin/build.sh

# Run tests
test:
    ./vendor/bin/phpunit

# Deploy to production
deploy:
    ./bin/deploy.sh
```
<!--
## Options

Option | Description
--- | ---
**-d, --directory** | Apply command only to directories
**-f, --file** | Apply command only to files
**-r, --recursive** | Search recursively
**--include-dot-directories** | Look inside directories with names started with dot - ".git", ".idea" etc. Ignoring these directories by default.
**--include-directories-ignored-by-git** | Do not use ".gitignore" rules. By default we skip all directories mentioned in ".gitignore".
-->

## To Be Done

 - Mark command as "Favorite"
 - Hide command from list


## License

[![License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://badges.mit-license.org)

- **[MIT license](http://opensource.org/licenses/mit-license.php)**
- Copyright 2021 © Nex Otaku.
npm package: @nex_otaku/nginx-enable-site
Description: Enable and disable Nginx hosts
Author: Nex Otaku
Latest version: 1.0.3

# Nginx Enable Site

Two simple commands to enable and disable Nginx sites.

```bash
# Enable nginx site by name
nginx-enable-site myproject.com

# List all sites that can be enabled
nginx-enable-site --list

# Run without parameters to select site from menu
nginx-enable-site


# Disable nginx site by name
nginx-disable-site myproject.com

# List all sites that can be disabled
nginx-disable-site --list

# Run without parameters to select site from menu
nginx-disable-site

```

## Why

Nginx does not provide you with convenient command to manage sites.

You have to write your own command from scratch, or just deal with symlinks, but that would be tiresome.

Instead, you can just install this cutie little command and forget about this problem forever.

Syntax is very simple and straightforward.

## How it works

 - Read sites from folders "/etc/nginx/sites-enabled" and "/etc/nginx/sites-available"
 - To enable site, it creates symlink in "/etc/nginx/sites-enabled".
 - To disable site, it deletes symlink in "/etc/nginx/sites-enabled".

## Options

Option | Description
--- | ---
**(no parameters)** | Show interactive menu to select site
**site** | Enable or disable site
**--list** | List all sites that can be enabled or disabled

## Installation

To use this tool, you need [NodeJS](https://nodejs.org/).

```
sudo npm install -g @nex_otaku/nginx-enable-site
```

## To Be Done

 - List sites
 - Select site from menu  


## License

[![License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://badges.mit-license.org)

- **[MIT license](http://opensource.org/licenses/mit-license.php)**
- Copyright 2021 © Nex Otaku.
npm package: @nexa-ed/convex
Description: Nexa Education Platform — Convex schema fragments and callback factories
Latest version: 0.2.0-beta.4

# @nexa-ed/convex

Convex schema fragments, mutations, queries, and handler factories for the [Nexa Education Platform](https://docs.nexa-ed.com). Integrate Nexa's reactive backend directly into your Convex project.

## Install

```bash
npm install @nexa-ed/convex @nexa-ed/sdk
# or
pnpm add @nexa-ed/convex @nexa-ed/sdk
```

## Peer dependencies

```bash
npm install convex
```

## Quick start

```ts
// convex/schema.ts
import { defineSchema } from "convex/server";
import { nexaPaymentsSchema, nexaFilesSchema } from "@nexa-ed/convex/schema";

export default defineSchema({
  ...nexaPaymentsSchema,
  ...nexaFilesSchema,
});
```

## Documentation

| Topic | Link |
|-------|------|
| Installation | [docs.nexa-ed.com/docs/getting-started/installation](https://docs.nexa-ed.com/docs/getting-started/installation) |
| Quickstart | [docs.nexa-ed.com/docs/getting-started/quickstart](https://docs.nexa-ed.com/docs/getting-started/quickstart) |

## License

MIT
npm package: @nexa-ed/next
Description: Nexa Education Platform — Next.js Adapter
Latest version: 0.2.0-beta.4

# @nexa-ed/next

Next.js adapter for the [Nexa Education Platform](https://docs.nexa-ed.com). Mounts all Nexa API route handlers into your Next.js app with a single call.

## Install

```bash
npm install @nexa-ed/next @nexa-ed/sdk
# or
pnpm add @nexa-ed/next @nexa-ed/sdk
```

## Peer dependencies

```bash
npm install next
```

## Quick start

```ts
// app/api/nexa/[...nexaed]/route.ts
import { createNexa } from "@nexa-ed/next";

const { GET, POST } = createNexa({
  apiKey: process.env.NEXA_API_KEY!,
});

export { GET, POST };
```

## Documentation

| Topic | Link |
|-------|------|
| Installation | [docs.nexa-ed.com/docs/getting-started/installation](https://docs.nexa-ed.com/docs/getting-started/installation) |
| Quickstart | [docs.nexa-ed.com/docs/getting-started/quickstart](https://docs.nexa-ed.com/docs/getting-started/quickstart) |

## License

MIT
npm package: @nexa-ed/node
Description: Nexa Education Platform — Node.js & Framework-Agnostic Adapter
Latest version: 0.2.0-beta.4

# @nexa-ed/node

Framework-agnostic Node.js adapter for the [Nexa Education Platform](https://docs.nexa-ed.com). Supports Express, Fastify, and Hono out of the box.

## Install

```bash
npm install @nexa-ed/node @nexa-ed/sdk
# or
pnpm add @nexa-ed/node @nexa-ed/sdk
```

## Peer dependencies

Install the framework(s) you use — all are optional:

```bash
npm install express   # or fastify, or hono
```

## Quick start

```ts
// Hono
import { Hono } from "hono";
import { createNexaHono } from "@nexa-ed/node/hono";

const app = new Hono();
app.route("/nexa", createNexaHono({ apiKey: process.env.NEXA_API_KEY! }));
```

## Documentation

| Framework | Link |
|-----------|------|
| Express | [docs.nexa-ed.com/docs/node/express](https://docs.nexa-ed.com/docs/node/express) |
| Fastify | [docs.nexa-ed.com/docs/node/fastify](https://docs.nexa-ed.com/docs/node/fastify) |
| Hono | [docs.nexa-ed.com/docs/node/hono](https://docs.nexa-ed.com/docs/node/hono) |
| Overview | [docs.nexa-ed.com/docs/node](https://docs.nexa-ed.com/docs/node) |

## License

MIT
npm package: @nexa-ed/react
Description: Nexa Education Platform — React UI Components
Latest version: 0.2.0-beta.4

# @nexa-ed/react

React components and hooks for the [Nexa Education Platform](https://docs.nexa-ed.com). Drop-in UI for file uploads, student records, analysis jobs, pipeline status, and payments.

## Install

```bash
npm install @nexa-ed/react @nexa-ed/sdk
# or
pnpm add @nexa-ed/react @nexa-ed/sdk
```

## Peer dependencies

```bash
npm install react react-dom @tanstack/react-query lucide-react
```

## Quick start

```tsx
import { NexaProvider } from "@nexa-ed/react";

export default function App({ children }) {
  return (
    <NexaProvider apiKey={process.env.NEXT_PUBLIC_NEXA_API_KEY}>
      {children}
    </NexaProvider>
  );
}
```

## Documentation

| Topic | Link |
|-------|------|
| Components | [docs.nexa-ed.com/docs/react/components](https://docs.nexa-ed.com/docs/react/components) |
| Hooks | [docs.nexa-ed.com/docs/react/hooks](https://docs.nexa-ed.com/docs/react/hooks) |

## License

MIT
npm package: @nexa-ed/sdk
Description: Nexa Education Platform — Core SDK
Latest version: 0.2.0-beta.4

# @nexa-ed/sdk

The core JavaScript/TypeScript client for the [Nexa Education Platform](https://docs.nexa-ed.com). Provides typed HTTP modules for files, documents, payments, services, and webhooks.

## Install

```bash
npm install @nexa-ed/sdk
# or
pnpm add @nexa-ed/sdk
```

## Quick start

```ts
import { NexaClient } from "@nexa-ed/sdk";

const nexa = new NexaClient({ apiKey: process.env.NEXA_API_KEY });
```

## Documentation

| Topic | Link |
|-------|------|
| Installation | [docs.nexa-ed.com/docs/getting-started/installation](https://docs.nexa-ed.com/docs/getting-started/installation) |
| Quickstart | [docs.nexa-ed.com/docs/getting-started/quickstart](https://docs.nexa-ed.com/docs/getting-started/quickstart) |
| Files | [docs.nexa-ed.com/docs/sdk/files](https://docs.nexa-ed.com/docs/sdk/files) |
| Documents | [docs.nexa-ed.com/docs/sdk/documents](https://docs.nexa-ed.com/docs/sdk/documents) |
| Payments | [docs.nexa-ed.com/docs/sdk/payments](https://docs.nexa-ed.com/docs/sdk/payments) |
| Services | [docs.nexa-ed.com/docs/sdk/services](https://docs.nexa-ed.com/docs/sdk/services) |
| Webhooks | [docs.nexa-ed.com/docs/sdk/webhooks](https://docs.nexa-ed.com/docs/sdk/webhooks) |

## License

MIT
npm package: @nexa-ui-kit/cli
Description: CLI for adding Nexa UI components to your project
Latest version: 1.0.0

# @nexa-ui-kit/cli

CLI for adding Nexa UI components to your project.

## Installation

```bash
npm install -g @nexa-ui-kit/cli
# or use npx
npx @nexa-ui-kit/cli
```

## Usage

### Initialize

```bash
npx @nexa-ui-kit/cli init
# or with global install
nexa init
```

### Add Components

```bash
nexa add button card dialog
```

### List Components

```bash
nexa list
```

## Options

- `-y, --yes`: Skip prompts and use defaults
- `-o, --overwrite`: Overwrite existing files
- `-c, --cwd <path>`: Specify working directory

## License

MIT
npm package: @nexa-ui-kit/core
Description: Unstyled, accessible React components for building design systems
Latest version: 1.0.0

# @nexa-ui-kit/core

Unstyled, accessible React components for building design systems.

## Installation

```bash
npm install @nexa-ui-kit/core
# or
bun add @nexa-ui-kit/core
```

## Usage

```tsx
import { cn, Slot } from '@nexa-ui-kit/core'

// Use cn() for merging Tailwind classes
<div className={cn('px-4 py-2', props.className)} />

// Use Slot for asChild pattern
<Slot>{children}</Slot>
```

## Peer Dependencies

- React 17, 18 or 19
- React DOM 17, 18 or 19

## License

MIT
npm package: @nexa-ui-kit/registry
Description: Build-time registry generation for Nexa UI components
Latest version: 1.0.0

# @nexa-ui-kit/registry

Build-time registry generation for Nexa UI components.

## Overview

This package generates a JSON registry of all Nexa UI components, including:
- Component source code
- Dependencies (npm packages)
- Registry dependencies (other Nexa UI components)
- Metadata (description, category)

## Usage

### Generate Registry

```bash
cd packages/registry
bun run generate
```

### Output Files

- `dist/registry.json` - Full registry with component code
- `dist/index.json` - Lightweight index for CLI listings

### Component Metadata

Add metadata to component files via comments:

```tsx
/**
 * @description A button component with variants
 * @category form
 * @dependencies @radix-ui/react-slot
 * @registryDependencies utils
 */
```

## Schema

```typescript
import { registrySchema, type Registry } from '@nexa-ui-kit/registry/schema'

const registry = registrySchema.parse(data)
```

## License

MIT
npm package: @nexa-ui-kit/theme-default
Description: Default theme for Nexa UI components
Latest version: 1.0.2

# @nexa-ui-kit/theme-default

Default theme for Nexa UI components with CSS variables and Tailwind CSS configuration.

## Installation

```bash
npm install @nexa-ui-kit/theme-default
# or
bun add @nexa-ui-kit/theme-default
```

## Usage

### Import CSS Tokens

```css
/* In your global CSS */
@import '@nexa-ui-kit/theme-default';
```

### Extend Tailwind Config

```javascript
// tailwind.config.js
import nexaTheme from '@nexa-ui-kit/theme-default/tailwind'

export default {
  presets: [nexaTheme],
  // your config...
}
```

### Dark Mode

Add `.dark` class to `<html>` or `<body>` for dark mode:

```html
<html class="dark">
```

## Tokens

- **Colors**: Primary, secondary, muted, accent, destructive
- **Typography**: Font families, sizes, weights
- **Spacing**: Border radius, layout tokens

## License

MIT