open-index/open-npm huggingface dataset:
npm package: @free3/purgecss
Description: Remove unused css selectors
Author: Ffloriel
Latest version: 4.1.3

# PurgeCSS

[![npm](https://img.shields.io/npm/v/purgecss?style=for-the-badge)](https://www.npmjs.com/package/purgecss)
![npm](https://img.shields.io/npm/dm/purgecss?style=for-the-badge)
![GitHub](https://img.shields.io/github/license/FullHuman/purgecss?style=for-the-badge)
![Dependabot](https://img.shields.io/badge/dependabot-enabled-%23024ea4?style=for-the-badge)
[![Coverage Status](https://img.shields.io/coveralls/github/FullHuman/purgecss/main?style=for-the-badge)](https://coveralls.io/github/FullHuman/purgecss?branch=main)

<p align="center">
	<img src="https://i.imgur.com/UEiUiJ0.png" height="200" width="200" alt="PurgeCSS logo"/>
</p>

## What is PurgeCSS?

When you are building a website, chances are that you are using a css framework like Bootstrap, Materializecss, Foundation, etc... But you will only use a small set of the framework and a lot of unused css styles will be included.

This is where PurgeCSS comes into play. PurgeCSS analyzes your content and your css files. Then it matches the selectors used in your files with the one in your content files. It removes unused selectors from your css, resulting in smaller css files.

## Sponsors 🥰

[<img src="https://avatars0.githubusercontent.com/u/67109815?v=4" height="85" style="margin-right: 10px">](https://tailwindcss.com)
[<img src="https://avatars.githubusercontent.com/u/6852555?&v=4" height="85">](https://vertistudio.com/)

## Documentation

You can find the PurgeCSS documentation on [this website](https://purgecss.com).

### Table of Contents

#### PurgeCSS

- [Configuration](https://purgecss.com/configuration.html)
- [Command Line Interface](https://purgecss.com/CLI.html)
- [Programmatic API](https://purgecss.com/api.html)
- [Safelisting](https://purgecss.com/safelisting.html)
- [Extractors](https://purgecss.com/extractors.html)
- [Comparison](https://purgecss.com/comparison.html)

#### Plugins

- [PostCSS](https://purgecss.com/plugins/postcss.html)
- [Webpack](https://purgecss.com/plugins/webpack.html)
- [Gulp](https://purgecss.com/plugins/gulp.html)
- [Grunt](https://purgecss.com/plugins/grunt.html)
- [Gatsby](https://purgecss.com/plugins/gatsby.html)

#### Guides

- [Vue.js](https://purgecss.com/guides/vue.html)
- [Nuxt.js](https://purgecss.com/guides/nuxt.html)
- [React.js](https://purgecss.com/guides/react.html)
- [Next.js](https://purgecss.com/guides/next.html)
- [Razzle](https://purgecss.com/guides/razzle.html)

## Getting Started

#### Installation

```
npm i --save-dev purgecss
```

## Usage

```js
import PurgeCSS from 'purgecss'
const purgeCSSResults = await new PurgeCSS().purge({
  content: ['**/*.html'],
  css: ['**/*.css']
})
```

## Contributing

Please read [CONTRIBUTING.md](./../../CONTRIBUTING.md) for details on our code of
conduct, and the process for submitting pull requests to us.

## Versioning

PurgeCSS use [SemVer](http://semver.org/) for versioning.

## License

This project is licensed under the MIT License - see the [LICENSE](./../../LICENSE) file
for details.
npm package: @free4cn/design-components
Description: Kube Design is a set of React component libraries created for KubeSphere console.
Latest version: 1.0.5-dev

# Kube Design

Kube Design is a set of React component libraries created for KubeSphere console.

[![NPM](https://img.shields.io/npm/v/@kube-design/components.svg)](https://www.npmjs.com/package/@kube-design/components)

## Requirement

- Node.js 12.18+ ([installation with nvm](https://github.com/creationix/nvm#usage))
- Yarn 1.22.4+

## Installation

```shell
yarn add @kube-design/components
```

## Example

```jsx
import React, { Component } from "react";

import { Button } from "@kube-design/components";

class Example extends Component {
  render() {
    return <Button>Button</Button>;
  }
}
```

## Import All Styles

There are two ways to import style files.

### Use css

The css file can be imported directly, so no additional configuration is required in the webpack configuration file.

```jsx
import "@kube-design/components/esm/styles/index.css";
```

### Use scss

If you import the scss file, you may need to compile this part of the scss file in the webpack configuration file.

```jsx
import "@kube-design/components/esm/styles/index.scss";
```

webpack.config.js

```js
// module.rules
[
  ...otherRules,
  {
    test: /\.s[ac]ss$/i,
    include: root("node_modules"),
    use: ["style-loader", "css-loader", "sass-loader"],
  },
];
```

## Modular Import

You can use [babel-plugin-import](https://github.com/ant-design/babel-plugin-import) to load the component library on demand.

> When loading on demand, styles will also be imported on demand. You don't need to import all styles, only `main.scss`.

Configure the babel as follows:

```js
// babel.config.js

const getBabelPluginImportConfig = require('@kube-design/components/babel.plugin.import')

...

"plugins": [
  ['import', getBabelPluginImportConfig()],
]
```

Import the `main.scss` instead of `index.scss`

```jsx
import "@kube-design/components/esm/styles/main.scss";
```

## Localization

Kube Design use `LocaleProvider` component to support localization.

1. Define locales

```js
// locales.js

const locales = {
  "en-US": {
    HELLO: "Hello!",
  },
  "zh-CN": {
    HELLO: "你好!",
  },
};

export default locales;
```

2. Use the LocaleProvider component to wrap the root node

The `locale` method can be assigned to `window` for easy use.

```jsx
import React from "react";
import ReactDOM from "react-dom";
import { LocaleProvider } from "@kube-design/components";
import locales from "./locales";
import App from "./App";

window.locale = LocaleProvider.locale;

const App = () => (
  <LocaleProvider locales={locales} currentLocale="en">
    <App />
  </LocaleProvider>
);

ReactDOM.render(<App />, document.getElementById("root"));
```

3. In the root node App.jsx and its child nodes, use `locale.get('key')` to get the language text

```jsx
import React from "react";
import { Button } from "@kube-design/components";

export default () => <Button>{locale.get("HELLO")}</Button>;
```

## License

MIT © [kubesphere](https://github.com/kubesphere)
npm package: @freearhey/chronos
Description: Node.js CLI tool for running scripts on a schedule
Author: Arhey
Latest version: 0.0.1

# chronos

Node.js CLI tool for running scripts on a schedule.

## Installation

```sh
npm install -g @freearhey/chronos
```

## Usage

```sh
chronos --execute="echo Hello World" --pattern="*/15 * * * * *"
```

Arguments:

- `-e, --execute`: command to be executed
- `-p, --pattern`: cron pattern
- `-l, --log`: enable console log (default: `false`)

## Contribution

If you find a bug or want to contribute to the code or documentation, you can help by submitting an [issue](https://github.com/freearhey/chronos/issues) or a [pull request](https://github.com/freearhey/chronos/pulls).

## License

[MIT](LICENSE)
npm package: @freearhey/core
Description: Toolset for Node.js
Author: Arhey
Latest version: 0.15.2

# @freearhey/core

## Installation

```sh
npm install @freearhey/core
```

## Usage

```js
import { Collection } from '@freearhey/core'

const bears = new Collection(['polar', 'panda', 'brown'])

bears.sort()

console.log(brears.all()) // ['brown', 'panda', 'polar']
```

## Documentation

- [Collection](docs/classes/Collection.md)
- [Dictionary](docs/classes/Dictionary.md)
- [Logger](docs/classes/Logger.md)
- [Template](docs/classes/Template.md)
- [Timer](docs/classes/Timer.md)

## Testing

```sh
npm test
```

## License

[MIT](LICENSE)
npm package: @freearhey/iso-639-3
Description: ISO-639-3 language codes in JSON format
Author: Arhey
Latest version: 1.0.0

# iso-639-3

[ISO 639-3](https://iso639-3.sil.org/code_tables/639/data) language codes in JSON format.

## Install

```sh
npm install @freearhey/iso-639-3
```

## Usage

```js
import iso6393 from '@freearhey/iso-639-3'

const language = iso6393.find(lang => lang.code === 'eng')

/*
{
  name: 'English',
  code: 'eng'
}
*/
```

## License

[MIT](LICENSE)
npm package: @freearhey/search-js
Description: A tool for searching elements in JavaScript arrays
Author: Arhey
Latest version: 0.2.1

# search-js

A tool for searching elements in JavaScript arrays.

## Installation

```bash
npm install @freearhey/search-js
```

## Usage

```js
const sj = require('@freearhey/search-js')

const data = [
  { name: 'Nikita', age: 24 },
  { name: 'Jeremy', age: 13 },
  { name: 'Jerry', age: 18 },
  { name: 'Gwendolyn', age: 43 }
]

const index = sj.createIndex(data)

const results = index.search('Jer')

console.log(results)
```

Output:

```
[
  { name: 'Jeremy', age: 13 },
  { name: 'Jerry', age: 18 },
]
```

**Search syntax:**

| Example             | Description                                                 |
| ------------------- | ----------------------------------------------------------- |
| cat                 | Finds items that have "cat" in their descriptions           |
| cat dog             | Finds items that have "cat" AND "dog" in their descriptions |
| cat,dog             | Finds items that have "cat" OR "dog" in their descriptions  |
| bio:"electric tape" | Finds items that have "electric tape" in the bio            |
| email:/./           | Finds items that have an email                              |
| stars:>4            | Finds items with more than 5 stars                          |
| stars:<2            | Finds items with less than 2 stars                          |

**Options:**

| Name       | Type  | Description                                                                 |
| ---------- | ----- | --------------------------------------------------------------------------- |
| searchable | Array | List of searchable attributes. By default, all attributes will be searched. |

Example:

```js
index.search('t', { searchable: ['lastName'] })
```

## Testing

```bash
npm test
```

## Linting

```bash
npm run lint
```

## Contribution

If you find a bug or want to contribute to the code or documentation, you can help by submitting an [issue](https://github.com/freearhey/search-js/issues) or a [pull request](https://github.com/freearhey/search-js/pulls).

## License

[MIT](LICENSE)
npm package: @freeasin/rtc-connect
Description: Initiate and manage RTC connections
Author: Dave Hermann
Latest version: 0.2.1

# RTC Connection

A WebRTC peer connection module

## Caveats

+ Data channel only - **at the moment**
+ Handling signaling to create the connection is up to you.
Signaling values come from `Peer.onGeneratedHandshake(handshake)`.
    + The included test app provides signaling via in-page text boxes whose values can be shared with another host

## Getting Started

`npm install @freeasin/rtc-connection`

`import { Peer } from "@freeasin/rtc-connection;`

1. Turn off console logging with **logToConsole** in the constructor
    + `new Peer({ logToConsole: false })`
1. Set the default outbound channel name with **defaultDataChannel** in the constructor
    + `new Peer({ defaultDataChannel: "myChannel" })`
1. Add additional outbound channels with `Peer.dataChannel.AddOutboundChannel(channelName)`
1. On `Peer.onGeneratedHandshake(handshake)`, provide the handshake value to the opposite host
1. Provide a handler for inbound messages
    + `Peer.dataChannel.AddInboundMessageHandler(dataChannelLabel, (evt) => void)`
    + `evt.data` contains the message
1. Handle `Peer.dataChannel.outbound.get("CHANNEL_NAME").onOpen` to manage your application when a data channel opens between hosts
    + (evt) => {}
    + *evt.target* will be the channel
    + *channel.readyState* should be **"open"**
    + This is where the UX indicate connections between hosts now exists
1. Use `Peer.onStateChanged(handler)` to define handlers that will be called on every state change for the peer connection

## Included Example

1. Run the test app
```
npm run test
```
1. Go to http://localhost:8080
1. Click the **Add Peer Connection** button at the bottom
    + You now have two idential sections on the page
1. Click one of the **Generate Offer** buttons
    + The handshake signal shown is automatically copied to the clipboard
1. Paste into **the other** *Consume Offer* box, and click the *Consume Offer* button
    + You'll get an alert if you try to paste a handshake signal into the same section that generates it
1. Continue pasting/clicking back-and-forth until the two peer connections agree on how to connect
1. Once the connection is negotiated, the UI changes to "Send" boxes, and you have a peer-to-peer messaging app
    + The typing notification is sent over a different data channel from the messages

**Try the same example in two different browser tabs instead of two connections on one page**

**This also works over different devices locally, or over the Internet, as long as you can exchange the handshake signaling data**

## License

MIT

See [LICENSE](./LICENSE) for further details.
npm package: @freeasin/uuid
Description: Simple UUID generation
Author: Dave Hermann
Latest version: 0.1.0

# @freeasin/uuid

A simple UUID v4 generation module

## Origins

This module is based on the fewest-byte answer to https://stackoverflow.com/a/2117523.

That answer has been modifed to:

+ Be well commented
+ Run in **both** the browsers **and NodeJS**
    + *browser packaging as an ES6 module*

## Usage

`npm install @freeasin/uuid`

### NodeJS

`const { v4 } = require("@freeasin/uuid");`

### Typescript/Browser via module loader

`import { v4 } from "@freeasin/uuid";`

### Browser without a module loader

Use `@freeasin/uuid/dist/es6.js` as an ES6 module

## Where's AMD, UMD, UNPKG, etc?

Isn't that the point of ES6 modules?

Maybe we'll add additional packaging down the road if there's a need...

## Compiling

We're deleting and renaming files as part of build, so different build paths for POSIX and Windows (*cough* **WSL** *cough*).

*For POSIX environments:* `npm run build`

*If you're on **Windows**:* `npm run build:windows`

## License

MIT

See [LICENSE](./LICENSE) for further details.
npm package: @freeatnet/iplocation
Description: Get ip location information.
Author: Richie Bendall
Latest version: 7.3.0-alpha.1

# iplocation [![Travis CI Build Status](https://img.shields.io/travis/com/Richienb/iplocation/master.svg?style=for-the-badge)](https://travis-ci.com/Richienb/iplocation)

Get ip location information.

[![NPM Badge](https://nodei.co/npm/iplocation.png)](https://npmjs.com/package/iplocation)

## Install

```sh
npm install iplocation
```

## Usage

```js
const ipLocation = require("iplocation");

(async () => {
	await ipLocation("172.217.167.78");
	//=> { latitude: -33.8591, longitude: 151.2002, region: { name: "New South Wales" ... } ... }
})();
```

## API

### ipLocation(ip)

#### ip

Type: `string`

The ipv4 address to get the information for.

## Providers

iplocation currently uses [ipapi](https://ipapi.co/) for IP lookups. Their free API is limited to 1000 requests per day.

## Related

- [iplocation-cli](https://github.com/Richienb/iplocation-cli) - CLI for this module.
npm package: @freebeatfit/sdk-js
Description: <img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />
Latest version: 4.10.5

# CopilotKit - SDK JS


<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />

<br>
<div align="center" style="display:flex;justify-content:center;gap:16px;height:20px;margin: 0;">
  <a href="https://www.npmjs.com/package/@freebeatfit/react-core" target="_blank">
    <img src="https://img.shields.io/npm/v/%40copilotkit%2Fsdk-js?logo=npm&logoColor=%23FFFFFF&label=Version&color=%236963ff" alt="NPM">
  </a>
  <a href="https://github.com/copilotkit/copilotkit/blob/main/LICENSE" target="_blank">
    <img src="https://img.shields.io/github/license/copilotkit/copilotkit?color=%236963ff&label=License" alt="MIT">
  </a>
  <a href="https://discord.gg/6dffbvGU3D" target="_blank">
    <img src="https://img.shields.io/discord/1122926057641742418?logo=discord&logoColor=%23FFFFFF&label=Discord&color=%236963ff" alt="Discord">
  </a>
</div>
<br/>
<div align="center">
  <a href="https://www.producthunt.com/posts/copilotkit" target="_blank">
    <img src="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=428778&theme=light&period=daily">
  </a>
</div>

## ✨ Why CopilotKit?

- Minutes to integrate - Get started quickly with our CLI
- Framework agnostic - Works with React, Next.js, AGUI and more
- Production-ready UI - Use customizable components or build with headless UI
- Built-in security - Prompt injection protection
- Open source - Full transparency and community-driven

<img src="https://github.com/user-attachments/assets/6cb425f8-ffcb-49d2-9bbb-87cab5995b78" alt="class-support-ecosystem" style="border-radius: 12px; border: 2px solid #d6d4fa;">

## 🧑‍💻 Real life use cases

<span>Deploy deeply-integrated AI assistants & agents that work alongside your users inside your applications.</span>

<img src="https://github.com/user-attachments/assets/3b810240-e9f8-43ae-acec-31a58095e223" alt="headless-ui" style="border-radius: 12px; border: 2px solid #d6d4fa;">

## 🏆 Featured Examples

<p align="center">
  <a href="https://www.copilotkit.ai/examples/form-filling-copilot">
    <img src="https://github.com/user-attachments/assets/874da84a-67ff-47fa-a6b4-cbc3c65eb704" width="300" style="border-radius: 16px;" />
  </a>
  <a href="https://www.copilotkit.ai/examples/state-machine-copilot">
    <img src="https://github.com/user-attachments/assets/0b5e45b3-2704-4678-82dc-2f3e1c58e2dd" width="300" style="border-radius: 16px;" />
  </a>
  <a href="https://www.copilotkit.ai/examples/chat-with-your-data">
    <img src="https://github.com/user-attachments/assets/0fed66be-a4c2-4093-8eab-75c0b27a62f6" width="300" style="border-radius: 16px;" />
  </a>
</p>

## Documentation

To get started with CopilotKit, please check out the [documentation](https://docs.copilotkit.ai).
npm package: @freebird-ai/openharness
Description: Local MCP server that lets AI coding agents discover and reference each other's recent sessions.
Latest version: 0.1.2

# OpenHarness

AI 코딩 에이전트의 최근 세션 파일을 찾아 서로 참조하게 해주는 로컬 MCP 서버.

전용 하네스 없이 하네스처럼 동작한다. 기존 도구 환경을 그대로 유지하면서, 에이전트 간 세션을 연결하는 디스커버리 레이어.

## Supported Agents (MVP)

| Agent | Session Path | Format |
|-------|-------------|--------|
| Claude Code | `~/.claude/projects/` | JSONL |
| Codex CLI | `~/.codex/sessions/` | JSONL |
| Gemini CLI | `~/.gemini/tmp/<hash>/chats/` | JSON |

## Prerequisites

- Each agent must be able to **read local files directly**.
- OpenHarness only provides paths and metadata — it does not transform, relay, or store session content.

## Install

```bash
npm install -g @freebird-ai/openharness
openharness init
```

This registers OpenHarness as an MCP server in each agent's config.

## MCP Tools

### `get_agent_sessions`

Returns recent session paths for all agents, filtered by project.

**Input:**
```json
{ "project": "/Users/me/my-app" }
```

**Output:**
```json
[
  {
    "agent": "claude-code",
    "path": "/Users/me/.claude/projects/-Users-me-my-app/session.jsonl",
    "format": "jsonl",
    "updatedAt": "2026-03-17T14:32:00Z",
    "matchedProject": "/Users/me/my-app",
    "matchedBy": "directory-name"
  }
]
```

### `get_agent_session`

Returns the recent session path for a specific agent.

**Input:**
```json
{ "agent": "claude-code", "project": "/Users/me/my-app" }
```

**Output:**
```json
{
  "agent": "claude-code",
  "path": "/Users/me/.claude/projects/-Users-me-my-app/session.jsonl",
  "format": "jsonl",
  "updatedAt": "2026-03-17T14:32:00Z",
  "matchedProject": "/Users/me/my-app",
  "matchedBy": "directory-name"
}
```

Returns `null` if no session is found.

## Project Matching

| Agent | Strategy |
|-------|----------|
| Claude Code | Project path escaped with `-` as directory name |
| Codex CLI | Workspace field inside session JSONL |
| Gemini CLI | Project path hash matching `tmp/<hash>/` |

## How It Works

```
User → Codex: "Review what Claude Code worked on recently"

Codex → OpenHarness MCP: get_agent_session({ agent: "claude-code", project: "..." })
Codex ← receives session path + metadata
Codex → reads the JSONL file directly and performs review
```

No rules needed in agent instruction files. MCP tool descriptions are enough for agents to use naturally.

## Manual MCP Configuration

If you prefer to configure manually instead of using `init`:

```json
{
  "mcpServers": {
    "openharness": {
      "command": "openharness",
      "args": []
    }
  }
}
```

Add this to your agent's MCP config file:

| Agent | Config File |
|-------|------------|
| Claude Code | `~/.claude/mcp.json` or project `.mcp.json` |
| Codex CLI | project `.codex/` |
| Gemini CLI | `~/.gemini/settings.json` |

## License

MIT
npm package: @freecey/npxcard
Description: My npx card - A personal card for Cedric AUDRIT (@freecey)
Author: Cedric AUDRIT
Latest version: 1.0.1

# npxcard
npm card for Cedric AUDRIT

## Usage

Via npx:

```bash
npx freecey
```

## GitHub Package Registry
Assuming you have the GitHub registry set up, you can use via npx:
```
npx @freecey/card
```

## License
Please see [LICENSE](https://github.com/Freecey/npxcard/blob/master/LICENSE) file for more details.
npm package: @freecey/react-pomodoro
Description: A simple pomodoro timer built with ReactJS..
Author: Cedric AUDRIT
Latest version: 1.0.0

# Free Cey Pomodoro Timer v1.0.0
:tomato: A simple pomodoro timer built with ReactJS. 

[Live version](https://pomodoro.neant.be/), Deployed via Netlify.

![Screenshot](https://github.com/Freecey/react-pomodoro/raw/master/src/img/Screenshot.png)

## What is this?

The Pomodoro provides you with a timer to keep you productive throughout the day. The timer switches between 25 minute and 5 minute intervals.

## Features

- Time display
- Adjustable Timer for Focus (+/- 1min)
- Adjustable Timer for Break (+/- 1min)
- pause and reset timer button
- Modal auto open when time is over and auto swith Work<=>Break
- Sound when time is over
- Message BOX
- Display current Time/Date
- Button +/-/Work/Break/Reset lock when CountDown in start
- Progress Bar

## Tech Used

- React
- Bootstrap
- sass

## Run the project locally
```
git clone git@github.com:Freecey/react-pomodoro.git

cd react-pomodoro

npm install

npm start
```

## License
[MIT License](https://github.com/Freecey/react-pomodoro/blob/master/LICENSE.md) © [Cedric AUDRIT](https://www.audrit.be/)