open-index/open-npm huggingface dataset:
npm package: @mevanab/eslint-config
Description: Personal eslint configurations
Latest version: 0.1.0

# eslint-config

Personal [eslint](http://eslint.org/) configurations. Based off https://github.com/moxystudio/eslint-config.


## Installation

`$ npm install --save-dev eslint @mevanab/eslint-config`

Additional dependencies that need to be installed per addon:

react addon: `$ npm install --save-dev eslint-plugin-react@^3.13.0`

This config was tested with `eslint@^4.3.0` and the specific version ranges for plugins. Use other versions at your own risk. I will try to keep this project up to date with the changes of `eslint` and the plugins used here.


## Usage

First you need to choose the ECMAScript version you want to target: `es5`, `es6`, `es7` or `es8`.

Then enhance it with one or more **addons**:

- `browser` - If you are going to develop code for the browser
- `node` - If you are going to develop code for NodeJS
- `es6-modules` - If you are going to use ES6 import & export
- `react` - If you are going to use React and JSX (requires )

Finally, simply create a `.eslintrc.json` file with the chosen base configuration and addons. Feel free to override rules you won't agree with. You can look at some examples bellow.

Alternatively, you can make your own configuration by using the set of **rules** individually. If you're interested in doing that, you can check `es5.js` to see how it is done.


### Examples

Cutting edge ES6 with modules in the browser, using react:

```json
{
    "root": true,
    "extends": [
        "@mevanab/eslint-config/es6",
        "@mevanab/eslint-config/addons/es6-modules",
        "@mevanab/eslint-config/addons/browser",
        "@mevanab/eslint-config/addons/react"
    ]
}
```

Cutting edge ES6 with modules in NodeJS (requires babel or similar):

```json
{
    "root": true,
    "extends": [
        "@mevanab/eslint-config/es6",
        "@mevanab/eslint-config/addons/es6-modules",
        "@mevanab/eslint-config/addons/node"
    ]
}
```

Use ES6 in NodeJS without any transpiler:

```json
{
    "root": true,
    "extends": [
        "@mevanab/eslint-config/es6",
        "@mevanab/eslint-config/addons/node"
    ]
}
```

.. and if you are programming against NodeJS v4 please use:

```json
{
    "root": true,
    "extends": [
        "@mevanab/eslint-config/es6",
        "@mevanab/eslint-config/addons/node"
        "@mevanab/eslint-config/addons/node-v4-es6"
    ]
}
```


Good old ES5 in NodeJS:

```json
{
    "root": true,
    "extends": [
        "@mevanab/eslint-config/es5",
        "@mevanab/eslint-config/addons/node"
    ]
}
```

Note that by setting `root` to true, we ensure that no ancestor configuration is used which also improves `eslint` performance because no more file lookups need to be done.


## File name convention

If your file exports a single class, your filename should be exactly the name of the class. For other cases, the name of the file should be the same as the default exports (prefer camelCase).


## License

[MIT License](http://opensource.org/licenses/MIT)
npm package: @mew-protocol/cli
Description: MEW Protocol CLI - Minimal implementation for testing
Author: MEW Protocol Working Group
Latest version: 0.4.10

# @mew-protocol/cli

Command-line interface for the MEW Protocol (Multi-Entity Workspace Protocol).

## Status

🚧 **Under Development** - Specification is in draft phase.

## Specification

The CLI specification is being developed at [`spec/draft/SPEC.md`](spec/draft/SPEC.md).

## Planned Features

- Gateway server management
- Client connections with FIFO mode for testing
- Built-in test agents (echo, calculator, fulfiller)
- Token generation and validation
- Integration testing tools

## Development

This package is not yet implemented. Once the specification is approved, implementation will begin following the tasks in [TODO.md](../docs/progress/TODO.md).

## Contributing

Please review the [specification](spec/draft/SPEC.md) and provide feedback before implementation begins.
npm package: @mew-protocol/gateway
Description: MEW gateway - Reference implementation of the Multi-Entity Workspace Protocol gateway
Author: MEW Working Group
Latest version: 0.2.0

# @mew-protocol/gateway

Reference implementation of the MEW (Multi-Entity Workspace Protocol) gateway v0.2.

The MEW gateway manages spaces where participants can communicate with unified context visibility. It provides:

- WebSocket-based space endpoints
- Capability enforcement using JSON pattern matching
- System messages for presence, welcome, and errors
- Optional REST API for health and space info

## Installation

```bash
npm install @mew-protocol/gateway
```

## Usage

```ts
import { createGatewayServer } from '@mew-protocol/gateway';

createGatewayServer();
```

### Customization

```ts
import { MEWGateway, SpaceManager, CapabilityChecker } from '@mew-protocol/gateway';

const gateway = new MEWGateway({
  port: 8080,
  host: '0.0.0.0',
});

gateway.start();
```

## Protocol

All messages follow the MEW envelope format:

```json
{
  "protocol": "mew/v0.2",
  "id": "...",
  "ts": "...",
  "from": "...",
  "to": ["..."],
  "kind": "mcp/request",
  "payload": { /* method-specific */ }
}
```

### Default capabilities

```json
[
  { "id": "mew-proposals", "kind": "mew/proposal/*" },
  { "id": "propose", "kind": "mew/proposal" }
]
```

### Start server

```ts
import { createGatewayServer } from '@mew-protocol/gateway';
createGatewayServer();
```

This gateway implements MEW v0.2. Specification updates to v0.3 will follow.
npm package: @mewhhaha/eslint-plugin-simple-tailwind
Description: A simple ESLint plugin for Tailwind CSS.
Latest version: 0.0.15

# @mewhhaha/eslint-plugin-simple-tailwind

A simple ESLint plugin for Tailwind CSS.

## Installation

```bash
pnpm add @mewhhaha/eslint-plugin-simple-tailwind
```

## Usage

```mjs
import tseslint from "typescript-eslint";
import plugin, { loadTailwind } from "@mewhhaha/eslint-plugin-simple-tailwind";

const tw = await loadTailwind("./path/to/tailwind.css");

export default [plugin(tw).configs.recommended];
```

## Rules

Here are the rules that are available in this plugin:

- `formatting`
- `duplicate`
- `unknown`

### `formatting`

Adds a warning and a code action to format the `className` argument to a predictable style. Applies if it's using a template literal string in attributes `className` or `class` and if the callee is `cn`, `cx`, `className`, `clsx`, or `classNames`. This can be changed in the settings.

- Sorts the classes by the tailwind order.
- Formats the classes to be on multiple lines.
- Breaks the line after the `printWidth` if it's greater than the `printWidth`.
- Removes duplicate classes.

```tsx
// before
<div className={`p-4 focus:p-5 focus:hover:p-6`}></div>

// after
<div className={`
     p-4

     focus:p-5

     hover:p-6
     `}></div>
```

### `duplicate`

Adds an error if the `className` argument has duplicate classes.

### `unknown`

Adds a warning if the `className` argument has unknown classes.

### `prefer-multiline`

Adds a warning if the `className` argument is a string literal, and suggests to use a template literal string instead.

## Settings

- `attributes`: The attributes to check for the `className` argument. (default: `["className", "class"]`)
- `callees`: The callees to check for the `className` argument. (default: `["cn", "cx", "className", "clsx", "classNames"]`)
- `printWidth`: The print width to format the `className` argument. (default: 80)

```mjs
export default [
  plugin.configs.recommended,
  {
    settings: {
      simpletailwindcss: {
        attributes: ["className", "class"],
        callees: ["cn", "cx", "className", "clsx", "classNames"],
        printWidth: 80,
      },
    },
  },
];
```
npm package: @mewhhaha/little-router-plugin-data
Description: This is a plugin for little-router that allows you to specify what kind of JSON body should be passed with the request.
Author: Jacob Torrång
Latest version: 1.0.5

### little-router-plugin-data

This is a plugin for little-router that allows you to specify what kind of JSON body should be passed with the request.

## Example

```tsx
import { data_ } from "@mewhhaha/little-router-plugin-data";
import { type } from "arktype";
import { Router } from "@mewhhaha/little-router";
import { json } from "@mewhhaha/typed-response";

const router = Router().post(
  "/a",
  [data_(type({ value: "'hello'" }))],
  ({ data }) => {
    return text(200, data.value);
  }
);
```
npm package: @mewhhaha/little-router-plugin-query
Description: This is a plugin for little-router that allows you to specify query params that should or could be passed along with the request.
Author: Jacob Torrång
Latest version: 1.0.5

### little-router-plugin-query

This is a plugin for little-router that allows you to specify query params that should or could be passed along with the request.

## Example

```tsx
import { query_ } from "@mewhhaha/little-router-plugin-query";
import { type } from "arktype";
import { Router } from "@mewhhaha/little-router";
import { json } from "@mewhhaha/typed-response";

const router = Router().get(
  "/a",
  [query_(type({ hello: "'world'" }))],
  ({ query: { hello } }) => {
    return json(200, hello);
  }
);
```