open-index/open-npm huggingface dataset:
npm package: @fohte/eslint-config
Description: ESLint config for fohte
Author: fohte
Latest version: 0.3.1

# @fohte/eslint-config

Personal ESLint configuration package with TypeScript support.

## Installation

```bash
npm install --save-dev @fohte/eslint-config

# Install peer dependencies
npm install --save-dev eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier eslint-plugin-import-x eslint-plugin-simple-import-sort

# Optional: If using TypeScript
npm install --save-dev typescript
```

## Usage

`eslint.config.js`:

```javascript
import { config } from '@fohte/eslint-config'

// Basic (JS + TypeScript strict rules)
export default config()

// Alternatively, enable type-checked rules
// (strict-type-checked + strict-boolean-expressions):
// export default config({ typescript: { typeChecked: true } })
```

## Development

### Setup

```bash
# Install dependencies
npm install

# Build TypeScript
npm run build

# Watch mode
npm run watch
```

### Scripts

- `npm run build` - Compile TypeScript files
- `npm run watch` - Watch mode for development
- `npm run lint` - Run ESLint on source files
- `npm run test` - Run build and lint

### Project Structure

```
src/
├── index.ts         # Main export
├── main.ts          # Base ESLint configuration
├── typescript.ts    # TypeScript-specific configuration
└── types/           # Type definitions for untyped packages
```

### Release Process

This project uses [release-please](https://github.com/googleapis/release-please) for automated releases.

#### 1. Create a feature branch and make changes

- Create a new branch from `master`
- Make your changes (commit messages don't need to follow any specific format)

#### 2. Create a PR and merge to master

- Push your branch and create a PR
- **PR title must follow [Conventional Commits](https://www.conventionalcommits.org/)**:
  - `fix:` for bug fixes (patch release)
  - `feat:` for new features (minor release)
  - `feat!:` or `fix!:` for breaking changes (major release)
- After review, merge the PR (squash merge only)

#### 3. Automated release process

When changes are merged to `master`, release-please automatically:

- Creates/updates a Release PR
- Updates version in package.json
- Updates CHANGELOG.md
- When the Release PR is merged:
  - Creates GitHub release and git tag
  - Publishes to npm

### Pre-commit Hooks

This project uses pre-commit hooks to ensure code quality. The hooks will automatically run when you commit changes.
npm package: @foilengine/sdk
Description: TypeScript SDK for the Foil Engine NPC API
Author: Foil Engine
Latest version: 0.4.0

# Foil Engine TypeScript SDK

TypeScript SDK for the [Foil Engine](https://foilengine.io) NPC API. Add AI-powered NPC conversations to your Node.js, web, Deno, or Bun project.

## Installation

```bash
npm install @foilengine/sdk
```

## Quick Start

```typescript
import { FoilEngineClient } from '@foilengine/sdk';

const client = new FoilEngineClient({
  apiKey: 'pk_live_...',
  llmApiKey: 'sk-...',   // your LLM provider API key
  llmModel: 'gpt-4o',    // any LiteLLM-supported model
});

// Discover your personas
const personas = await client.personas.list();

// Initialize a session
const session = await client.chat.initSession(personas[0].id, {
  userSessionId: 'player-001',
  playerName: 'Alex',
  playerGender: 'non-binary',
});
console.log(session.message); // NPC's greeting

// Send a message
const response = await client.chat.sendMessage(personas[0].id, {
  message: 'What do you recommend?',
  userSessionId: 'player-001',
});
console.log(response.message);       // NPC's reply
console.log(response.current_state); // State machine state
console.log(response.score);         // Session score
```

## Configuration

```typescript
const client = new FoilEngineClient({
  apiKey: 'pk_live_...',             // required
  llmApiKey: 'sk-...',              // required – your LLM provider API key
  llmModel: 'gpt-4o',              // optional – default LLM model
  baseUrl: 'http://localhost:8000',  // default: https://api.foilengine.io
  timeout: 30000,                    // default: 30000ms
  maxRetries: 3,                     // default: 3
});
```

### LLM Configuration (BYOK)

SDK chat endpoints require your own LLM API key. Foil Engine uses [LiteLLM](https://docs.litellm.ai/docs/providers) under the hood, so any supported provider and model string works.

```typescript
// Override models per pipeline step
const client = new FoilEngineClient({
  apiKey: 'pk_live_...',
  llmApiKey: 'sk-...',
  llmModel: 'gpt-4o',
  llmEvalModel: 'gpt-4o-mini',          // cheaper model for evaluation
  llmResponseModel: 'gpt-4o',           // main model for NPC responses
  llmSummarizationModel: 'gpt-4o-mini', // cheaper model for summaries
});
```

## Documentation

Full documentation at [foilengine.io/docs/sdk/typescript](https://foilengine.io/docs/sdk/typescript)

## License

MIT
npm package: @fokke-/bartender.js
Description: Accessible off-canvas bars
Author: Ville Fokke Saarivaara
Latest version: 3.2.1

# Bartender.js - Accessible off-canvas bars

Bartender is a library for creating accessible off-canvas bars. Any number of bars is supported, and they can be located on any side of the viewport.

[Click here for the documentation](https://bartender.fokke.fi).

## Developing

Install dependencies:

```bash
pnpm install
pnpm exec playwright install chromium
```

Available commands:

- `pnpm dev` - Dev server
- `pnpm build` - Build library
- `pnpm lint` - Lint source code
- `pnpm format` - Format code
- `pnpm test` - Build library and run tests
- `pnpm test:watch` - Build library and run tests in watch mode
npm package: @fokke-/vue-bartender.js
Description: Bartender.js plugin for Vue 3
Author: Ville Fokke Saarivaara
Latest version: 1.2.1

# Bartender.js plugin for Vue 3

This package contains Vue 3 plugin and components for [Bartender.js](https://www.npmjs.com/package/@fokke-/bartender.js), providing an easy way to use the library in your Vue application.

[Click here for the documentation](https://bartender.fokke.fi/vue-plugin.html).
npm package: @foko/type-check
Description: Assert-style non-intrusive type checking.
Author: Karim Alibhai
Latest version: 0.0.4

# type-check [![Build Status](https://travis-ci.org/FoKo/type-check.svg?branch=master)](https://travis-ci.org/FoKo/type-check) [![codecov](https://codecov.io/gh/FoKo/type-check/branch/master/graph/badge.svg)](https://codecov.io/gh/FoKo/type-check) [![Greenkeeper badge](https://badges.greenkeeper.io/FoKo/type-check.svg)](https://greenkeeper.io/)

Assert-style non-intrusive type checks.

## Usage

It works similar to `assert()` where you simply state what should happen and then continue
to operate. If the type check fails, a valid `TypeError` is thrown and your function will halt.

Simple example:

```javascript
function add (a, b) {
  typeCheck('number', a)
  typeCheck('number', b)

  return a + b
}

add(1, 1) // returns 2
add('1', 1) // throws TypeError
add('1') // throws TypeError
add(1) // throws TypeError
// etc.
```

## Available Types

Type detection is handled by [type-detect](https://npmjs.org/type-detect) by the lovely team over at
chaijs. If you would like to use your own type detection, you can swap it out by replacing the function
at `typeCheck.typeOf`:

```javascript
const typeCheck = require('@karimsa/type-check')

// this replaces the type-detect typeOf function with just a native
// use of typeof (which is faster but less useful)
typeCheck.typeOf = function (value) {
  return typeof value
}
```

*If you would like to make types optional (i.e. the type, undefined, or null) - just append `?` to the end
of the type name.*

Example with optional types:

```javascript
// all valid
typeCheck('number?', 2)
typeCheck('number?', undefined)
typeCheck('number?', null)

// invalid
typeCheck('number?', '2')
```

## License

Licensed under MIT license.

Copyright &copy; 2018-present Foko Inc. All rights reserved.
npm package: @foks-proj/snowpack-compiler
Description: Compiler for the new Snowpack RPC system
Author: Max Krohn
Latest version: 1.0.8

# node-snowpack-compiler

Compiler for the Snowpack RPC system

## How to run, for now

- cd ../node-framed-msgpack-rpc && yarn link
- cd ../node-snowpack && yarn link && yarn link node-framed-msgpack-rpc
- yarn link snowpack && yarn link node-framed-msgpack-rpc
npm package: @foladayo/web-file-server
Description: A platform-agnostic static file server using web standards
Author: oladayo21
Latest version: 1.0.0

# @foladayo/web-file-server

A Node.js static file server that uses web standard Request/Response objects. Compatible with any server that supports web standards.

## Installation

```bash
npm install @foladayo/web-file-server
```

## Quick Start

```typescript
import { createFileServer } from '@foladayo/web-file-server';

const handler = createFileServer({
  root: '/path/to/public'
});

// Takes a web Request, returns a web Response
const request = new Request('http://localhost/index.html');
const response = await handler(request);

console.log(response.status);    // 200
console.log(response.headers);   // Headers object
const content = await response.text(); // File content
```

## Configuration

```typescript
interface FileServerOptions {
  root: string;                              // Required: root directory
  index?: string[];                          // Default: ['index.html']
  dotfiles?: 'allow' | 'deny' | 'ignore';   // Default: 'ignore'
  headers?: Record<string, string>;          // Additional headers
  streaming?: boolean;                       // Default: true
  etag?: boolean | 'strong' | 'weak';       // Default: true (weak)
  compression?: boolean | string[];          // Default: true (['br', 'gzip', 'deflate'])
  precompressed?: boolean;                   // Default: true
  cacheControl?: string | Record<string, string>; // Cache-Control rules
}
```

### Examples

**Basic serving:**
```typescript
const handler = createFileServer({
  root: './public'
});
```

**Custom headers and caching:**
```typescript
const handler = createFileServer({
  root: './public',
  headers: {
    'X-Powered-By': 'My App'
  },
  cacheControl: {
    '\\.js$': 'max-age=31536000', // Cache JS files for 1 year
    '\\.css$': 'max-age=31536000',
    '\\.html$': 'no-cache'
  }
});
```

**Allow dotfiles with custom index:**
```typescript
const handler = createFileServer({
  root: './public',
  dotfiles: 'allow',
  index: ['index.html', 'index.htm', 'default.html']
});
```

**Disable compression and streaming:**
```typescript
const handler = createFileServer({
  root: './public',
  compression: false,
  streaming: false
});
```

## Features

- **Web standards**: Uses Request/Response objects for easy integration
- **Streaming responses**: Memory-efficient file serving
- **Range requests**: Supports partial content (HTTP 206)
- **Compression**: Automatic brotli/gzip/deflate with pre-compressed file support
- **ETags**: Efficient caching with weak/strong ETag options
- **Security**: Path traversal protection, symlink blocking, dotfile policies
- **Performance**: Conditional requests (304 Not Modified), streaming by default


## License

MIT
npm package: @fold-dev/core
Description: The UI library for product teams.
Author: Jo du Plessis
Latest version: 0.19.0

# Fold

## Overview

Zero-dependency React components for scaling your product to the next level.

- [Getting Started](#getting-started)
    - [Prerequisites](#prerequisites)
    - [Installation](#installation)
    - [Usage](#usage)
    - [Building](#building)
- [Documentation](#documentation)
- [Theming](#theming)
- [Contributing](#contributing)
    - [Reporting Bugs](#reporting-bugs-)
    - [Sharing Feedback](#sharing-feedback-)
- [Code of Conduct](#code-of-conduct-)
- [License](#license)
- [Support](#support)

### Installation

``` bash
# Using npm
npm install @fold-dev/core

# Using yarn
yarn add @fold-dev/core
```

### Usage

```jsx
import React from 'react';
import { FoldProvider, Heading, Button, Card, Input } from '@fold-dev/core';
import '@fold-dev/core/dist/styles.css';

const App = () => {
    return (
        <FoldProvider>
            <Card>
                <Heading>My Component</Heading>
                <Input placeholder="Enter your text" />
                <Button>Submit</Button>
            </Card>
        </FoldProvider>
    );
};

export default App;
```

### Building

Ensure you have the following prerequisites installed:

- [Node](https://nodejs.org/) - v18.17.1
- [Npm](https://www.npmjs.com/) (Node Package Manager) - v9.6.7

1. Clone the repository:

   ```bash
   git clone https://github.com/fold-dev/fold.git
   ```

2. Navigate to the project directory:

   ```bash
   cd fold
   ```

3. Install dependencies:

   ```bash
   npm install
   ```

4. Developing:

   ```bash
   npm run dev
   ```

## Documentation

For detailed information on each component and their props, please refer to our [Documentation](https://www.fold.dev/docs).

## Theming

The library provides easy-to-use theming options. Learn more about them in the [Theming Guide](https://www.fold.dev/docs/theming).

## Contributing

### Reporting Bugs 🐞
If you've come across a bug or an issue, please don't hesitate to open a new issue. To make the process as smooth as possible, we've created some issue templates to get you started.

### Sharing Feedback 📢
We'd love to get your feedback, be it suggestions, feature requests, or general thoughts on your experience. If you believe that creating a new issue isn't the best choice, don't hesitate to initiate a [discussion](https://github.com/fold-dev/fold/discussions) instead.

## Code of Conduct ☀️
Please note that we have a [Code of Conduct](CODE_OF_CONDUCT.md) that we expect everyone to follow when participating in this repository. We want to maintain a welcoming and inclusive environment for everyone.

## License

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

## Support

If you encounter any issues or have questions, feel free to [open an issue](https://github.com/fold-dev/fold/issues) or start a [discussion](https://github.com/fold-dev/fold/discussions).

Thank you for being part of our community, and for helping us.
npm package: @fold-dev/design
Description: The UI library for product teams.
Author: Jo du Plessis
Latest version: 0.19.0

# Fold Design

Fold Design is a Node.js project that uses StyleDictionary to generate the design tokens used in Fold. 

## Table of Contents

- [Getting Started](#getting-started)
    - [Prerequisites](#prerequisites)
    - [Installation](#installation)
    - [Configuration](#configuration)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)

## Getting Started

### Prerequisites

Ensure you have the following prerequisites installed:

> The project uses Node v18, however any version 16+ should work.

- [Node](https://nodejs.org/) - v18.17.1
- [Npm](https://www.npmjs.com/) (Node Package Manager) - v9.6.7

### Installation

1. Clone the repository:

   ```bash
   git clone https://github.com/fold-dev/fold.git
   ```

2. Navigate to the project directory:

   ```bash
   cd fold/packages/design
   ```

3. Install dependencies:

   ```bash
   npm install
   ```

### Configuration

Please see `config.js` for output configuration. More detailed guide coming soon.

## Usage

```bash
# Builds token file
npm run build

# Watch build using nodemon
npm run watch
```

Yarn is also acceptable, but be sure to replace `npm` with `Yarn` in the `package.json` `watch` script.

For more information on how to integrate the generated design tokens, 
please see our [theming](http://fold.dev/docs/theming) guide.

## Contributing

We are not actively looking for contributers at this time, however you are very welcome to contribute by submitting a PR. 

Here is how you can submit a pull request:

1. Fork the project.
2. Create your feature branch (`git checkout -b feature/your-feature`).
3. Commit your changes (`git commit -am 'Add some feature'`).
4. Push to the branch (`git push origin feature/your-feature`).
5. Open a pull request.

## License

This project is licensed under the MIT License (as part of Fold)