open-index/open-npm huggingface dataset:
npm package: @fatcherjs/middleware-form-data
Description: <div align="center">   <a href="https://codecov.io/github/fatcherjs/middleware-form-data" >      <img src="https://codecov.io/github/fatcherjs/middleware-form-data/graph/badge.svg?token=RPCSSLFSNF"/>   </a>   <a href="https://www.jsdelivr.com/package/npm/
Latest version: 3.0.0

# @fatcherjs/middleware-form-data

<div align="center">
  <a href="https://codecov.io/github/fatcherjs/middleware-form-data" > 
    <img src="https://codecov.io/github/fatcherjs/middleware-form-data/graph/badge.svg?token=RPCSSLFSNF"/> 
 </a>
  <a href="https://www.jsdelivr.com/package/npm/@fatcherjs/middleware-form-data">
    <img src="https://data.jsdelivr.com/v1/package/npm/@fatcherjs/middleware-form-data/badge?style=rounded" alt="jsDelivr">
  </a>
  <a href="https://packagephobia.com/result?p=@fatcherjs/middleware-form-data">
    <img src="https://packagephobia.com/badge?p=@fatcherjs/middleware-form-data" alt="install size">
  </a>
  <a href="https://unpkg.com/@fatcherjs/middleware-form-data">
    <img src="https://img.badgesize.io/https://unpkg.com/@fatcherjs/middleware-form-data" alt="Size">
  </a>
  <a href="https://npmjs.com/package/@fatcherjs/middleware-form-data">
    <img src="https://img.shields.io/npm/v/@fatcherjs/middleware-form-data.svg" alt="npm package">
  </a>
  <a href="https://github.com/fatcherjs/middleware-form-data/actions/workflows/ci.yml">
    <img src="https://github.com/fatcherjs/middleware-form-data/actions/workflows/ci.yml/badge.svg?branch=master" alt="build status">
  </a>
</div>

<br />

> This middleware is Browser Only.

## Install

### NPM

```bash
>$ npm install @fatcherjs/middleware-form-data
```

### CDN

```html
<script src="https://cdn.jsdelivr.net/npm/fatcher/dist/fatcher.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@fatcherjs/middleware-form-data/dist/index.min.js"></script>

<script>
  Fatcher.fatcher('url', {
    middlewares: [FatcherMiddlewareFormData],
    body: document.querySelector('#login-form'), // HTMLFormElement
    method: 'POST',
  }).then(response => {
    console.log(response);
  });
</script>
```

## Usage

```ts
import { fatcher } from 'fatcher';
import { formData } from '@fatcherjs/middleware-form-data';

fatcher('https://foo.bar', {
  middlewares: [formData],
  method: 'POST',
  // Body Supports HTMLFormElement / Object / FormData
  body: {
    foo: 'bar',
    test: 'a',
  },
});
```

## License

[MIT](https://github.com/fatcherjs/middleware-form-data/blob/master/LICENSE)
npm package: @fatcherjs/middleware-parameter
Description: <div align="center">   <a href="https://codecov.io/github/fatcherjs/middleware-parameter" >      <img src="https://codecov.io/github/fatcherjs/middleware-parameter/graph/badge.svg?token=KG7N2RC406"/>   </a>   <a href="https://www.jsdelivr.com/package/npm/
Latest version: 3.0.0

# @fatcherjs/middleware-parameter

<div align="center">
  <a href="https://codecov.io/github/fatcherjs/middleware-parameter" > 
    <img src="https://codecov.io/github/fatcherjs/middleware-parameter/graph/badge.svg?token=KG7N2RC406"/> 
 </a>
  <a href="https://www.jsdelivr.com/package/npm/@fatcherjs/middleware-parameter">
    <img src="https://data.jsdelivr.com/v1/package/npm/@fatcherjs/middleware-parameter/badge?style=rounded" alt="jsDelivr">
  </a>
  <a href="https://packagephobia.com/result?p=@fatcherjs/middleware-parameter">
    <img src="https://packagephobia.com/badge?p=@fatcherjs/middleware-parameter" alt="install size">
  </a>
  <a href="https://unpkg.com/@fatcherjs/middleware-parameter">
    <img src="https://img.badgesize.io/https://unpkg.com/@fatcherjs/middleware-parameter" alt="Size">
  </a>
  <a href="https://npmjs.com/package/@fatcherjs/middleware-parameter">
    <img src="https://img.shields.io/npm/v/@fatcherjs/middleware-parameter.svg" alt="npm package">
  </a>
  <a href="https://github.com/fatcherjs/middleware-parameter/actions/workflows/ci.yml">
    <img src="https://github.com/fatcherjs/middleware-parameter/actions/workflows/ci.yml/badge.svg?branch=master" alt="build status">
  </a>
</div>

## Install

### NPM

```bash
>$ npm install @fatcherjs/middleware-parameter
```

### CDN

```html
<script src="https://cdn.jsdelivr.net/npm/fatcher/dist/fatcher.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@fatcherjs/middleware-parameter/dist/index.min.js"></script>

<script>
  Fatcher.fatcher('url', {
    middlewares: [FatcherMiddlewareParameter],
    params: {
      foo: 'bar',
    },
  }).then(response => {
    console.log(response);
  });
</script>
```

## Usage

```ts
import { fatcher } from 'fatcher';
import { parameter } from '@fatcherjs/middleware-parameter';

fatcher('https://foo.bar', {
  params: {
    foo: 'bar',
  },
  middlewares: [parameter],
}); // url is https://foo.bar?foo=bar
```

## Options

### serializer

```ts
import qs from 'qs;
import { fatcher } from 'fatcher';
import { parameter, Serializer } from '@fatcherjs/middleware-parameter';

const serializer: Serializer = (params) => qs.stringify(params);

fatcher('https://foo.bar', {
  params: {
    foo: 'bar',
  },
  serializer,
  middlewares: [parameter],
});
```

## License

[MIT](https://github.com/fatcherjs/middleware-parameter/blob/master/LICENSE)
npm package: @fatcherjs/middleware-progress
Description: <div align="center">   <a href="https://codecov.io/github/fatcherjs/middleware-progress" >      <img src="https://codecov.io/github/fatcherjs/middleware-progress/graph/badge.svg?token=JZ22RH00S5"/>   </a>   <a href="https://www.jsdelivr.com/package/npm/@f
Latest version: 3.0.0

# @fatcherjs/middleware-progress

<div align="center">
  <a href="https://codecov.io/github/fatcherjs/middleware-progress" > 
    <img src="https://codecov.io/github/fatcherjs/middleware-progress/graph/badge.svg?token=JZ22RH00S5"/> 
 </a>
  <a href="https://www.jsdelivr.com/package/npm/@fatcherjs/middleware-progress">
    <img src="https://data.jsdelivr.com/v1/package/npm/@fatcherjs/middleware-progress/badge?style=rounded" alt="jsDelivr">
  </a>
  <a href="https://packagephobia.com/result?p=@fatcherjs/middleware-progress">
    <img src="https://packagephobia.com/badge?p=@fatcherjs/middleware-progress" alt="install size">
  </a>
  <a href="https://unpkg.com/@fatcherjs/middleware-progress">
    <img src="https://img.badgesize.io/https://unpkg.com/@fatcherjs/middleware-progress" alt="Size">
  </a>
  <a href="https://npmjs.com/package/@fatcherjs/middleware-progress">
    <img src="https://img.shields.io/npm/v/@fatcherjs/middleware-progress.svg" alt="npm package">
  </a>
  <a href="https://github.com/fatcherjs/middleware-progress/actions/workflows/ci.yml">
    <img src="https://github.com/fatcherjs/middleware-progress/actions/workflows/ci.yml/badge.svg?branch=master" alt="build status">
  </a>
</div>

## Install

### NPM

```bash
>$ npm install @fatcherjs/middleware-progress
```

### CDN

```html
<script src="https://cdn.jsdelivr.net/npm/fatcher/dist/fatcher.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@fatcherjs/middleware-progress/dist/index.min.js"></script>

<script>
  Fatcher.fatcher('url', {
    middlewares: [FatcherMiddlewareProgress],
    onDownloadProgress: (current, total) => {
      // process progress
    },
  }).then(response => {
    console.log(response);
  });
</script>
```

## Usage

```ts
import { fatcher } from 'fatcher';
import { progress } from '@fatcherjs/middleware-progress';

fatcher('https://foo.bar', {
  middlewares: [progress],
});
```

## Options

### onDownloadProgress

```ts
import { fatcher } from 'fatcher';
import { progress } from '@fatcherjs/middleware-progress';

fatcher('https://foo.bar', {
  middlewares: [progress],
  onDownloadProgress: (current, total) => {
    // current received data length
    // total data length
  },
});
```

## License

[MIT](https://github.com/fatcherjs/middleware-progress/blob/master/LICENSE)
npm package: @fatduckai/cli
Description: CLI tool for managing FatDuck AI prompts and tools
Latest version: 0.6.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @fatduckai/cli

Command-line interface for managing AI prompts and tools in your FatDuck AI projects.

## 📦 Installation

### Global Installation

```bash
# Using npm
npm install -g @fatduckai/cli

# Using bun
bun install -g @fatduckai/cli

# Now you can use the CLI directly
fatduckai add tweet
```

### Local Installation

```bash
# Using npm
npm install --save-dev @fatduckai/cli

# Using bun
bun add -d @fatduckai/cli
```

## 🛠️ Commands

### `add <component>`

Add a prompt or tool to your project.

```bash
fatduckai add tweet              # Add the tweet prompt
fatduckai add btc-price         # Add the Bitcoin price tool
fatduckai add tweet --yes       # Skip confirmation prompt
```

The command will:

1. Create the appropriate directory structure (`ai/prompts` or `ai/tools`)
2. Generate a TypeScript file with the component configuration
3. Show usage instructions

### Help

```bash
# Show general help
fatduckai --help

# Show help for a specific command
fatduckai add --help
```

## 📁 Project Structure

When you add components, they are organized in the following structure:

```
your-project/
├── ai/
│   ├── prompts/
│   │   └── tweet.ts
│   └── tools/
│       └── btc-price.ts
```

## 🧪 Development

### Setup

```bash
# Clone the repository
git clone https://github.com/yourusername/fatduckai
cd packages/cli

# Install dependencies
bun install
```

### Build

```bash
# Build the project
bun run build
```

### Testing

```bash
# Run unit tests
bun test

# Run manual test script
bun run test/manual-test.ts
```

### Development Mode

```bash
# Run CLI in development mode
bun run dev add tweet
```

## 📝 Example Usage

### Adding and Using a Prompt

1. Add the tweet prompt to your project:

```bash
fatduckai add tweet
```

2. Use the prompt in your code:

```typescript
import { tweet } from "./ai/prompts/tweet";

// Use the prompt with your AI service
const result = await ai.generate(tweet.template, {
  topic: "AI advancements",
  tone: "professional",
  includeHashtags: true,
  includeEmojis: true,
});
```

### Adding and Using a Tool

1. Add the Bitcoin price tool:

```bash
fatduckai add btc-price
```

2. Use the tool in your code:

```typescript
import { btcPrice } from "./ai/tools/btc-price";

const price = await btcPrice.handler({
  config: {
    currency: "USD",
    precision: 2,
  },
});
```

## 🔧 Configuration

The CLI will respect any `.fatduckrc` or `fatduck.config.js` file in your project root. Example configuration:

```json
{
  "outputDir": "custom/path",
  "typescript": true
}
```

## 🤝 Contributing

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.