open-index/open-npm huggingface dataset:
npm package: @normality/status-code
Description: HTTP status codes utility.
Author: Sylvain Estevez
Latest version: 4.0.4

# StatusCode

[![npm](https://img.shields.io/npm/v/@bluejay/status-code.svg?style=flat-square)](https://www.npmjs.com/package/@bluejay/status-code)
 [![npm](https://img.shields.io/npm/dm/@bluejay/status-code.svg?style=flat-square)](https://www.npmjs.com/package/@bluejay/status-code)
[![npm](https://img.shields.io/npm/l/@bluejay/status-code.svg?style=flat-square)](https://www.npmjs.com/package/@bluejay/status-code)

Enums and utilities around status codes.

## Requirements

- `node >= 8.6`, tested with:
 - `node@8.6.0`
 - `node@12.8.1`
- `typescript >= 4.0`, tested with:
 - `typescript@4.0.2`

## Installation

`npm i @normality/status-code`

## Usage

```typescript
import { StatusCode, isStatusCode, is5xx } from '@normality/status-code';

StatusCode.OK; // 200
isStatusCode(200); // true
is5xx(StatusCode.INTERNAL_SERVER_ERROR); // true
```
npm package: @normality/thrown
Description: Handle specific exceptions in Typescript like you would in classic OOP languages.
Author: Sylvain Estevez
Latest version: 1.0.3

[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)
[![npm version](https://badge.fury.io/js/@normality%2Fthrown.svg)](https://badge.fury.io/js/@normality%2Fthrown)

# thrown

Handle specific exceptions in Typescript like you would do in classic OOP languages.

## Install

`npm i @normality/thrown`

`yarn add @normality/thrown`

## Usage

The module exports a single utility `thrown(err)`:

```typescript
import { thrown } from '@normality/thrown';

try {
  // Might throw TypeError.
  doSomething(someArg);
} catch (err: any) {
  thrown(err)
    .catch(TypeError, e => {
      // "e" is of type TypeError.
      // Special handling for TypeError...
    })
    .rethrowUncaught(); // Any non TypeError will be thrown.
}
```

Catch multiple error types:

```typescript
try {
  // Might throw TypeError or a custom SomeError class.
  doSomething(someArg); // Might throw TypeError.
} catch (err: any) {
  thrown(err)
    .catch(TypeError, e => {
      // Special handling for TypeError...
    })
    .catch(SomeError, e => {
      // Special handling for SomeError...
    })
    // Any non TypeError will be thrown as is.
    .rethrowUncaught();
}
```

Using a predicate:

```typescript
const isSomeError = (err: any): err is CustomError => {
  return true;
}

try {
  // Might throw TypeError or a custom SomeError class.
  doSomething(someArg); // Might throw TypeError.
} catch (err: any) {
  thrown(err)
    .catch(TypeError, e => {
      // Special handling for TypeError...
    })
    .catchPredicate(isSomeError, e => {
      // Special handling for SomeError...
    })
    // Any non TypeError will be thrown as is.
    .rethrowUncaught();
}
```

Catch any other type of error:

```typescript
try {
  // Might throw TypeError or a custom SomeError class.
  doSomething(someArg); // Might throw TypeError.
} catch (err: any) {
  thrown(err)
    .catch(TypeError, e => {
      // Special handling for TypeError...
    })
    .catch(SomeError, e => {
      // Special handling for SomeError...
    })
    .catchAny(e => {
      // Will catch errors that are not TypeError nor SomeError.
      // Beware that you are responsible for rethrowing in this case.
    });
}
```

Rethrow a generic error:

```typescript
try {
  // Might throw TypeError or a custom SomeError class.
  doSomething(someArg); // Might throw TypeError.
} catch (err: any) {
  thrown(err)
    .catch(TypeError, e => {
      // Special handling for TypeError...
    })
    .catch(SomeError, e => {
      // Special handling for SomeError...
    })
    // If not TypeError nor SomeError, rethrow a default error.
    .rethrowUncaught(new Error(err.message));
}
```

## License

Copyright (c) 2023 Sylvain Estevez

This project is licensed under the MIT License - see the LICENSE file for details.
npm package: @normalize-in-js/emotion
Description: emotion implementation of normalize-in-js
Author: Jack Moore
Latest version: 0.2.1

# Normalize in JS - Emotion

## Installation

### Yarn

```sh
yarn add @normalize-in-js/emotion
```

### NPM

```sh
npm install @normalize-in-js/emotion
```

## Usage

### Normalize

```tsx
import { Normalize } from '@normalize-in-js/emotion';

function App() {
  return <Normalize />;
}
```

### Reset

```tsx
import { Reset } from '@normalize-in-js/emotion';

function App() {
  return <Reset />;
}
```

### Sanitize

```tsx
import {
  Sanitize,
  SanitizeTypography,
  SanitizeForms,
  SanitizePage,
} from '@normalize-in-js/emotion';

function App() {
  return (
    <>
      <Sanitize />
      <SanitizeTypography />
      <SanitizeForms />
      <SanitizePage />
    </>
  );
}
```

### Preflight

```tsx
import { Preflight } from '@normalize-in-js/styled-components';

function App() {
  return <Preflight />;
}
```

#### With Config

```tsx
import { createPreflightStyle } from '@normalize-in-js/styled-components';
import { Global } from '@emotion/core';

const customPreflight = createPreflightStyle({
  fontFamilySans: `"Comic Sans MS", cursive, sans-serif`,
  fontFamilyMono: `"Lucida Console", Monaco, monospace`,
  borderColor: 'rebeccapurple',
});

function App() {
  return <Global styles={customPreflight} />;
}
```

#### Theme Config

| Property         | Default                                                                                                                                                                                           |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fontFamilySans` | `system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"` |  |
| `fontFamilyMono` | `SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace`                                                                                                            |  |
| `borderColor`    | `currentColor`                                                                                                                                                                                    |  |
npm package: @normalize-in-js/styled-components
Description: styled-components implementation of normalize-in-js
Author: Jack Moore
Latest version: 0.2.1

# Normalize in JS - Styled Components

## Installation

### Yarn

```sh
yarn add @normalize-in-js/styled-components
```

### NPM

```sh
npm install @normalize-in-js/styled-components
```

## Usage

### Normalize

```tsx
import { Normalize } from '@normalize-in-js/styled-components';

function App() {
  return <Normalize />;
}
```

### Reset

```tsx
import { Reset } from '@normalize-in-js/styled-components';

function App() {
  return <Reset />;
}
```

### Sanitize

```tsx
import {
  Sanitize,
  SanitizeTypography,
  SanitizeForms,
  SanitizePage,
} from '@normalize-in-js/styled-components';

function App() {
  return (
    <>
      <Sanitize />
      <SanitizeTypography />
      <SanitizeForms />
      <SanitizePage />
    </>
  );
}
```

### Preflight

```tsx
import { Preflight } from '@normalize-in-js/styled-components';

function App() {
  return <Preflight />;
}
```

#### With Config

```tsx
import { createPreflightStyle } from '@normalize-in-js/styled-components';

const CustomPreflight = createPreflightStyle({
  fontFamilySans: `"Comic Sans MS", cursive, sans-serif`,
  fontFamilyMono: `"Lucida Console", Monaco, monospace`,
  borderColor: 'rebeccapurple',
});

function App() {
  return <CustomPreflight />;
}
```

#### With Theme

```tsx
import { Preflight, normalizeTheme } from '@normalize-in-js/styled-components';
import { ThemeProvider } from 'styled-components';

function App() {
  return (
    <ThemeProvider
      theme={{
        [normalizeTheme]: {
          fontFamilySans: `"Comic Sans MS", cursive, sans-serif`,
          fontFamilyMono: `"Lucida Console", Monaco, monospace`,
          borderColor: 'rebeccapurple',
        },
      }}
    >
      <Preflight />
    </ThemeProvider>
  );
}
```

#### Theme Config

| Property         | Default                                                                                                                                                                                           |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fontFamilySans` | `system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"` |  |
| `fontFamilyMono` | `SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace`                                                                                                            |  |
| `borderColor`    | `currentColor`                                                                                                                                                                                    |  |
npm package: @normalize-in-js/styled-jsx
Description: styled-jsx implementation of normalize-in-js
Author: Jack Moore
Latest version: 0.1.1

# Normalize in JS - styled-jsx

## Installation

### Yarn

```sh
yarn add @normalize-in-js/styled-jsx styled-jsx
```

### NPM

```sh
npm install @normalize-in-js/styled-jsx styled-jsx
```

## Usage

### Normalize

```tsx
import { Normalize } from '@normalize-in-js/styled-jsx';

function App() {
  return <Normalize />;
}
```

### Reset

```tsx
import { Reset } from '@normalize-in-js/styled-jsx';

function App() {
  return <Reset />;
}
```

### Sanitize

```tsx
import {
  Sanitize,
  SanitizeTypography,
  SanitizeForms,
  SanitizePage,
} from '@normalize-in-js/styled-jsx';

function App() {
  return (
    <>
      <Sanitize />
      <SanitizeTypography />
      <SanitizeForms />
      <SanitizePage />
    </>
  );
}
```

### Preflight

```tsx
import { Preflight } from '@normalize-in-js/styled-jsx';

function App() {
  return <Preflight />;
}
```

#### With Config

```tsx
import { Preflight } from '@normalize-in-js/styled-jsx';

function App() {
  return (
    <Preflight
      fontFamilySans={`"Comic Sans MS", cursive, sans-serif`}
      fontFamilyMono={`"Lucida Console", Monaco, monospace`}
      borderColor="rebeccapurple"
    />
  );
}
```

#### Theme Config

| Property         | Default                                                                                                                                                                                           |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fontFamilySans` | `system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"` |  |
| `fontFamilyMono` | `SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace`                                                                                                            |  |
| `borderColor`    | `currentColor`                                                                                                                                                                                    |  |
npm package: @normalize/formdown
Description: Markdown that builds forms
Author: Ian Briggs
Latest version: 1.0.10

# Formdown
Markdown that creates forms. 

## Why?

Because creating form designers and saving crazy amounts of meta-data is time-consuming and full of security holes. Much like the reasons for Markdown, with Formdown you save simple secure strings that create simple forms at runtime. No mess, no fuss. 

## Getting Started

Run the install with NPM

```
npm i @normalize/formdown
```

Import Formdown

```
import formdown from '@normalize/formdown';
```

Parse your Formdown string. 

```
const string = "
---First Name---
T___";

formdown.render(string);
```

Render will hand you back a HTML form string which you'll need to render on your page. 

Check out https://formdown.net for help, examples, cheatsheets and advanced guides using Angular or React.

![Screenshot](https://raw.githubusercontent.com/normal1ze/formdown/main/formdown-example.gif)

## What's new

Check out our latest releases at https://www.formdown.net/releases
npm package: @normalized-db/data-store
Description: `JavaScript` data stores for in-memory data and as `IndexedDB`-wrapper using normalized data (implemented with `TypeScript`).
Author: Sandro Schmid
Latest version: 1.0.3
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @normalized-db/data-store

`JavaScript` data stores for in-memory data and as `IndexedDB`-wrapper using normalized data (implemented with `TypeScript`).

**Author**: Sandro Schmid <saseb.schmid@gmail.com>

---

**Note**: This library is under active development and not completely ready yet.

---

## Installation

 - `npm install --save @normalized-db/data-store`
npm package: @normalized-db/denormalizer
Description: Denormalize `JavaScript` objects from a normalized data structure based on a simple schema (implemented with `TypeScript`).
Author: Sandro Schmid
Latest version: 2.5.0-beta.4
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @normalized-db/denormalizer

Denormalize `JavaScript` objects from a normalized data structure based on a simple schema 
(implemented with `TypeScript`).

 - **Author**: Sandro Schmid ([saseb.schmid@gmail.com](<mailto:saseb.schmid@gmail.com>))
 - **Version**: 2.5.0-beta.4

## Versioning

To ease versioning equal major and minor version numbers are used for all modules.

## Installation

Install using NPM:

    npm install --save @normalized-db/denormalizer

## Usage

Use the `DenormalizerBuilder` to create a `Denormalizer`. Use either `schema(…)` or `schemaConfig(…)` to apply a 
schema configuration. This is the only required parameter. If `normalizedData` does not contain an object which is
needed during denormalization then the `Denormalizer` will try to lazy load it using `fetchCallback`. The `KeyMap`
is a helper with a mapping from primary keys to the index of the related object in the normalized data.

To actually denormalize an object or an array of objects use either…

 - `applyAll(…): Promise<T[]>` for objects of a given type
 - `applyAllKeys(…): Promise<T[]>` for objects with keys of a given type
 - `apply(…): Promise<T>` for single objects of a given type
 - `applyKey(…): Promise<T>` for single objects by a key of a given type
 
The `type`-argument defines the data-store in which the item should be contained. Using a `depth` you can define
how far the denormalization should be applied. A number means that all targets should be denormalized to the n-th level.
`null` means that the field should be denormalized as far as possible. Note that circular dependencies currently will
not be detected. If you need different levels for various fields then use a `Depth`-object like 
e.g. `{ foo: 3, bar: { x: 1, y: null }`. This would denormalize up to 3 levels on obj.foo, 1 level on obj.bar.x and
everything on obj.bar.y.

## Examples

See the [examples-project](https://github.com/normalized-db/examples) for detailed examples:

 - [Angular4-App](https://github.com/normalized-db/examples/tree/master/angular-demo)
npm package: @normalizex/ethut
Description: A library of utilities for interacting with the eth / bsc blockchain.
Author: Normalizex
Latest version: 1.0.4

# Ethut
ERC-20 / BEP-20 utils

***
# Installing
Using npm:
```bash
npm i @normalizex/ethut
```
Using yarn:
```bash
yarn add @normalizex/ethut
```
***
# Usage:
```js
import { Ethut } from '@normalizex/ethut';

const web3 = new Web3('ProviderURL');
const ethut = new Ethut(web3 || 'Provider URL');
```

# Methods
- Ethut.erc20:
    - allowance
    - balanceOf
    - getDecimals
    - getSymbol
    - approve
***
# Donate
Of course, the project was made not for any benefit, but for my personal convenience 😃

But I wanted to share this convenience with the Github community.

You can send me any amount of any coins in the **[ETH](https://etherscan.io/address/0x35552cf3ce8cc8a0f7fdc8aa88a89b92e9ab5fdb) / [BSC](https://bscscan.com/address/0x35552CF3Ce8Cc8a0f7fdC8Aa88a89b92e9Ab5FdB)** network as a donation to the address: **`0x35552CF3Ce8Cc8a0f7fdC8Aa88a89b92e9Ab5FdB`**
npm package: @normalizex/honeypot-is
Description: library targeting of the honeypot.is API.
Author: Normalizex
Latest version: 1.0.3

# honeypot-is

* `Honeypot.is api wrapper`
***
# Installing
Using npm:
```console
npm i @normalizex/honeypot-is
```
Using yarn:
```console
yarn add @normalizex/honeypot-is
```
Using jsDelivr CDN:
```html
<script src="https://cdn.jsdelivr.net/npm/@normalizex/honeypot-is/dist/index.browser.min.js"></script>
```
Using unpkg CDN:
```html
<script src="https://unpkg.com/@normalizex/honeypot-is/dist/index.browser.min.js"></script>
```
***
# Usage
NodeJS (ES6):
```js
import { HoneypotIsV1 } from '@normalizex/honeypot-is';
```
NodeJS (commonjs)
```js
const { HoneypotIsV1 } = require('@normalizex/honeypot-is');
```
Browser:
```html
<script src="https://unpkg.com/@normalizex/honeypot-is/dist/index.browser.min.js"></script>
<!-- OR -->
<script src="https://cdn.jsdelivr.net/npm/@normalizex/honeypot-is/dist/index.browser.min.js"></script>

<script type="text/javascript">
	console.log(HoneypotIsV1)//function
</script>
```
# Example
```js
import { HoneypotIsV1 } from '@normalizex/honeypot-is';

const CHAIN_ID = 56;
const honeypotis = new HoneypotIsV1();

const BUSD = '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56';
const BUSD_PAIRS = await honeypotis.getPairs(BUSD, CHAIN_ID);

await honeypotis.honeypotScan(
	BUSD, 
	BUSD_PAIRS[0].Router, 
	BUSD_PAIRS[0].Pair,
	CHAIN_ID
).then((result) => {
	console.log(result)
	/**
		Token: {...},
		WithToken: {...},
		IsHoneypot: false,
		Chain: {...},
		...etc...
	*/
});

/**
 * SCAM TOKEN! Honeypot!
*/
const ITM = '0x64c37c3d6b5ff0fdea26eec0c8b6de487105291c'//SCAM!
const ITM_PAIRS = await honeypotis.getPairs(ITM, CHAIN_ID);

await honeypotis.honeypotScan(
	ITM, 
	ITM_PAIRS[0].Router, 
	ITM_PAIRS[0].Pair,
	CHAIN_ID
).then((result) => {
	console.log(result)
	/**
		Token: {...},
		WithToken: {...},
		IsHoneypot: true,
		Error: "execution reverted: TransferHelper: TRANSFER_FROM_FAILED",
		Chain: {...},
		...etc...
	*/
});
```
npm package: @normed/loaders
Description: A collection of loaders made to use with norm-build
Author: Normal Gaussian
Latest version: 1.0.6

# Loaders

A collection of loaders made to use with norm-build

## checkpoint-loader

Invoke with no options and it "saves" the current state for this resource. Invoke again and it "reverts" to that save.

This is technically stateful, but stateless in all loaders, and is useful to revert changes another loader makes.

This might be:
- you want to use the checks but not the transformations of a loader.
- you want the side effects of a loader.

The second case shouldn't occur, but it does. norm-build uses checkpoint-loader to revert the transpilation of TypeScript files whilst preserving the generated definitions files, thus allowing compilation to be done by the significantly more sane babel.

## ruin-loader

Replaces source with the word "ruin". Useful as a test of the checkpoint-loader.

## resolve-loader

Apply webpack resolve mechanisms to a file *before* it goes through other loaders that do not do it.

This is represents an issue with those loaders, and a workaround.

Currently only supports js style imports, and uses a regex method instead of an AST, so may be incorrect (please report issues).
npm package: @normed/promise-pool
Description: Execute async tasks with concurrency control and configurable error handling
Latest version: 1.0.0

# @normed/promise-pool

Execute async tasks with concurrency control and configurable error handling.

## Installation

```bash
npm install @normed/promise-pool
# or
yarn add @normed/promise-pool
```

## Usage

```typescript
import { PromisePool } from '@normed/promise-pool';

await PromisePool({
  concurrency: 5,
  count: 100,
  task: async (index) => {
    await processItem(index);
  },
  onError: 'continue',
});
```

## API

### `PromisePool(options)`

#### Options

| Option | Type | Description |
|--------|------|-------------|
| `concurrency` | `number` | Maximum number of concurrent tasks |
| `count` | `number` | Total number of tasks to execute |
| `task` | `(index: number) => Promise<void>` | Async function to execute for each index |
| `onError` | `'abort' \| 'drain' \| 'continue'` | Error handling strategy |

#### Error Handling Strategies

| Strategy | Behavior |
|----------|----------|
| `abort` | Stop immediately on first error, reject with that error |
| `drain` | Stop starting new tasks, wait for in-flight tasks to complete, reject with `AggregateError` |
| `continue` | Process all tasks regardless of errors, reject with `AggregateError` if any failed |

## License

MIT
npm package: @normed/winston-transport
Description: Base stream implementations for winston@3 and up.
Author: Charlie Robbins
Latest version: 4.4.0

# winston-transport

The base `TransportStream` implementation for `winston >= 3`. Use these to
write ecosystem Transports for `winston`.

## Usage

``` js
const Transport = require('winston-transport');
const util = require('util');

//
// Inherit from `winston-transport` so you can take advantage
// of the base functionality and `.exceptions.handle()`.
//
module.exports = class CustomTransport extends Transport {
  constructor(opts) {
    super(opts);

    //
    // Consume any custom options here. e.g.:
    // - Connection information for databases
    // - Authentication information for APIs (e.g. loggly, papertrail,
    //   logentries, etc.).
    //
  }

  log(info, callback) {
    setImmediate(() => {
      this.emit('logged', info);
    });

    // Perform the writing to the remote service

    callback();
  }
};
```

## Tests

Tests are written with `mocha`, `nyc`, `assume`, and 
`abstract-winston-transport`. They can be run with `npm`:

``` bash
npm test
```

##### Author: [Charlie Robbins](https://github.com/indexzero)
##### LICENSE: MIT
npm package: @normeno/platzom
Description: Test Platzi Curso
Author: Nicolas Ormeno
Latest version: 0.1.0

# Platzom

Platzom es un idioma inventado para el [Curso de fundamentos de JavaScript](https://platzi.com/js) de [Platzi](https://platzi.com).

## Descripción del idioma

- Si la palabra termina con "ar", se le quitan esas dos letras.
- Si la palabra inicia con Z, se le añade "pe" al final.
- Si la palabra traducida tiene 10 o más letras, se debe partir en dos por la mitad y unir con un guión medio.
- Por último, si la palabra original es palíndromo, ninguna regla anterior cuenta y se devuelve la misma palabra, pero intercalando letras mayúsculas y minúsculas.


## Instalación

```
npm install platzom
```

## Uso

```
import platzom from 'platzom'

platzom("programar") // Program
platzom("Zorro") // Zorrope
platzom("Zarpar") // Zarppe
platzom("abecedario") // abece-dario
platzom("sometemos") //SoMeTeMoS
```

## Créditos
- [Nicolas Ormeno](http://normeno.com)

## Licencia

[MIT](https://opensource.org/licenses/MIT)
npm package: @normful/picadillo
Description: pi agent skills & extensions: run-in-tmux, parrot, mulch, overstory
Author: normful
Latest version: 6.0.0

# Picadillo

<p align="center">
  <img src="https://media.githubusercontent.com/media/normful/picadillo/refs/heads/main/logo.png" alt="Picadillo" width="800">
</p>

**picadillo**
*noun*  \ˌpē-kə-ˈdē-(ˌ)yō\

1.  A ground meat dish cooked with tomatoes and seasonings, sometimes with
    potatoes, olives, or raisins; served on its own or as a filling.

2. *(tech slang)* A mix of [`pi`](https://github.com/badlogic/pi-mono) coding agent extensions,
   skills, and commands combined into one cohesive workflow; modular,
   interoperable, and—depending on the build—
   - occasionally containing undocumented features
   - prone to “seasonal” bugs
   - held together by optimism and duct taped tokens

**Etymology:** From Spanish *picar* (“to mince, to chop”), from Vulgar Latin
*piccare* (“to pierce”). Folk etymology proposes a secondary meaning: “to
repeatedly poke reality until it tastes better.”

## Install

```bash
pi install https://github.com/normful/picadillo
```

Configure what you don't want with `pi config`. It will modify
`~/.pi/agent/settings.json`

## Dependencies

- [`uv`](https://github.com/astral-sh/uv) — Required runtime dependency for running Python scripts

## Skills

### run-in-tmux

Run commands in a new tmux session with split panes. Useful for dev
environments, parallel processes, and persistent background tasks.

### mulch

Usage examples showing how to use [mulch](https://github.com/jayminwest/mulch)
to record and retrieve structured project
learnings.

## Extensions

### parrot

Opens the last AI response in an external text editor (respects `$VISUAL` or
`$EDITOR`), then sends your edited content back to the chat. Useful for editing
AI responses before re-sending, copying output to a full-featured editor, or
iterating with custom edits.

Usage: `/parrot` or `Alt+R`

### gastown

Hooks to automatically run `gt prime` and `gt mail` from [gastown](https://github.com/steveyegge/gastown)

### mulch

Hooks to automatically run [mulch](https://github.com/jayminwest/mulch) for
recording and retrieving structured project learnings.

### overstory

Hooks to automatically run `overstory prime` and `overstory mail check` from
[overstory](https://github.com/jayminwest/overstory/), along with logging tool
start/end, session end events, and integration with mulch for learning.

## Parrot Extension Demo

[![asciicast](https://asciinema.org/a/788693.svg)](https://asciinema.org/a/788693)

## Uninstall

```bash
pi remove https://github.com/normful/picadillo
```
npm package: @normi/mcp-dvf
Description: MCP server for French real estate data (DVF) — 17M+ geocoded transactions via Normi API
Author: NormiHQ
Latest version: 0.2.1

# @normi/mcp-dvf

> MCP client for accessing French real estate data (DVF - Demandes de Valeurs Foncières) via Claude Desktop

Ultra-simple NPM package that connects Claude Desktop to Normi's DVF API. No database installation required!

## 🚀 Quick Start (2 minutes)

### 1. Get your free API token

Visit: **https://normimcp-server-production.up.railway.app/get-token**

Click "Generate Free API Token" and copy your token.

### 2. Configure Claude Desktop

Open your Claude Desktop config file:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%/Claude/claude_desktop_config.json`

Add this configuration:

```json
{
  "mcpServers": {
    "normi": {
      "command": "npx",
      "args": ["-y", "@normi/mcp-dvf"],
      "env": {
        "NORMI_API_KEY": "normi_YOUR_TOKEN_HERE"
      }
    }
  }
}
```

### 3. Restart Claude Desktop

That's it! You can now ask Claude about French real estate:

```
"Quels sont les prix au m² à Paris 15ème ?"
"Trouve des maisons vendues à Lyon depuis 2023"
```

## 📊 Available Tools

| Tool | Description |
|------|-------------|
| `dvf_search` | Search property transactions with advanced filters |
| `dvf_statistics` | Get market statistics (median prices, price/m², etc.) |

## 🔒 Security

- Your API token is stored only in your local Claude config
- All data comes from public government sources (data.gouv.fr)
- No personal data is collected
- Tokens can be revoked anytime

## 💰 Pricing

| Plan | Rate Limit | Price |
|------|-----------|-------|
| **Free** | 30 requests/min | Free forever |
| **Pro** | 100 requests/min | Coming soon |

## 📖 Data Source

Data from **DVF (Demandes de Valeurs Foncières)** published by the French government:
- **Coverage**: All of France since 2014
- **Updates**: Every 6 months
- **Source**: [data.gouv.fr](https://www.data.gouv.fr/fr/datasets/demandes-de-valeurs-foncieres/)

## 🛠️ Advanced Configuration

### Custom API URL (self-hosted)

```json
{
  "mcpServers": {
    "normi": {
      "command": "npx",
      "args": ["-y", "@normi/mcp-dvf"],
      "env": {
        "NORMI_API_KEY": "your-token",
        "NORMI_API_URL": "https://your-instance.railway.app/mcp"
      }
    }
  }
}
```

## 🐛 Troubleshooting

### "missing_bearer_token" error
- Make sure `NORMI_API_KEY` is set in your config
- Check that the token starts with `normi_`

### "unknown_key" error
- Your token is invalid or expired
- Generate a new token at: https://normimcp-server-production.up.railway.app/get-token

### "rate_limited" error
- You've exceeded your plan's rate limit (30 req/min for free)
- Wait a minute or upgrade to Pro

## 📝 License

MIT

## 🙏 Credits

- **MCP Protocol** by Anthropic
- **DVF Data** by data.gouv.fr
- **Hosting** by Railway
npm package: @normstahl/sdc-wc-accessories-cards-grid
Description: Web component - Accessories Cards Grid
Author: Nagarro
Latest version: 1.0.66

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Accessories Cards Grid

**Custom HTML element**
```html
<accessories-cards-grid foo="" bar="" baz=""></accessories-cards-grid>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-campaign-price
Description: Web component - Campaign-price
Author: Nagarro
Latest version: 1.0.62

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Campaign-price

**Custom HTML element**
```html
<campaign-price foo="" bar="" baz=""></campaign-price>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-cards-grid
Description: Web component - Cards Grid
Author: Nagarro
Latest version: 1.0.86

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Cards Grid

**Custom HTML element**
```html
<cards-grid foo="" bar="" baz=""></cards-grid>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-cards-slider
Description: Web component - Cards Slider
Author: Nagarro
Latest version: 1.0.87

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Cards Slider

**Custom HTML element**
```html
<cards-slider foo="" bar="" baz=""></cards-slider>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-compact-map-view
Description: Web component - Compact-map-view
Author: Nagarro
Latest version: 1.0.40

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Compact-map-view

**Custom HTML element**
```html
<compact-map-view foo="" bar="" baz=""></compact-map-view>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-contact-us-become-dealer
Description: Web component - Contact-us-become-dealer
Author: Nagarro
Latest version: 1.0.63

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Contact-us-become-dealer

**Custom HTML element**
```html
<contact-us-become-dealer foo="" bar="" baz=""></contact-us-become-dealer>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-contact-us-sdc
Description: Web component - Contact-us-sdc
Author: Nagarro
Latest version: 1.0.92

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Contact-us-sdc

**Custom HTML element**
```html
<contact-us-sdc foo="" bar="" baz=""></contact-us-sdc>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-crm-contact-us-sdc
Description: Web component - Crm-contact-us-sdc
Author: Nagarro
Latest version: 1.0.50

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Crm-contact-us-sdc

**Custom HTML element**
```html
<crm-contact-us-sdc foo="" bar="" baz=""></crm-contact-us-sdc>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-dependencies
Description: Libraries and polyfills for the @assaabloy/gw-group web components
Author: KAN Malmö AB
Latest version: 1.0.1

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

## Dependency libraries and polyfills

* React
* ReactDOM
* Web components
* Custom elements es5 adaptor
npm package: @normstahl/sdc-wc-door-designer
Description: Web component - Door-designer
Author: Nagarro
Latest version: 1.0.80

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Door-designer

**Custom HTML element**
```html
<door-designer foo="" bar="" baz=""></door-designer>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-header-campaign
Description: Web component - Header Campaign
Author: Nagarro
Latest version: 1.0.50

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Header Campaign

**Custom HTML element**
```html
<header-campaign foo="" bar="" baz=""></header-campaign>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-media-gallery
Description: Web component - Media-gallery
Author: Nagarro
Latest version: 1.0.60

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Media-gallery

**Custom HTML element**
```html
<media-gallery foo="" bar="" baz=""></media-gallery>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-my-favorites
Description: Web component - My-favorites
Author: Nagarro
Latest version: 1.0.75

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# My-favorites

**Custom HTML element**
```html
<my-favorites foo="" bar="" baz=""></my-favorites>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-separator
Description: Web component - Separator
Author: Nagarro
Latest version: 1.0.28

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Separator

**Custom HTML element**
```html
<separator foo="" bar="" baz=""></separator>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-sticky
Description: Web component - Sticky
Author: Nagarro
Latest version: 1.0.72

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Sticky

**Custom HTML element**
```html
<sticky foo="" bar="" baz=""></sticky>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-sticky-copy
Description: Web component - Sticky-copy
Author: Nagarro
Latest version: 1.0.23

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Sticky-copy

**Custom HTML element**
```html
<sticky-copy foo="" bar="" baz=""></sticky-copy>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-submission-acknowledgement
Description: Web component - Submission-acknowledgement
Author: Nagarro
Latest version: 1.0.48

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Submission-acknowledgement

**Custom HTML element**
```html
<submission-acknowledgement foo="" bar="" baz=""></submission-acknowledgement>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-vendor
Description: Web component - Vendor
Author: Nagarro
Latest version: 1.0.79

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Vendor

**Custom HTML element**
```html
<vendor foo="" bar="" baz=""></vendor>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-vendor-designer
Description: Web component - Vendor-designer
Author: Nagarro
Latest version: 1.0.11

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Vendor-designer

**Custom HTML element**
```html
<vendor-designer foo="" bar="" baz=""></vendor-designer>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-vendor-forms
Description: Web component - Vendor-forms
Author: Nagarro
Latest version: 1.0.11

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Vendor-forms

**Custom HTML element**
```html
<vendor-forms foo="" bar="" baz=""></vendor-forms>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-vendor-map
Description: Web component - Vendor-map
Author: Nagarro
Latest version: 1.0.12

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Vendor-map

**Custom HTML element**
```html
<vendor-map foo="" bar="" baz=""></vendor-map>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-vendor-react
Description: Web component - Vendor-react
Author: Nagarro
Latest version: 1.0.2

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Vendor-react

**Custom HTML element**
```html
<vendor-react foo="" bar="" baz=""></vendor-react>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-vendor-react-select
Description: Web component - Vendor-react-select
Author: Nagarro
Latest version: 1.0.1

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Vendor-react-select

**Custom HTML element**
```html
<vendor-react-select foo="" bar="" baz=""></vendor-react-select>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normstahl/sdc-wc-vendor-slider
Description: Web component - Vendor-slider
Author: Nagarro
Latest version: 1.0.11

![ASSA ABLOY](https://upload.wikimedia.org/wikipedia/commons/e/e8/Assa-Abloy-Logo.svg)
<sup>Global web - web components</sup>

# Vendor-slider

**Custom HTML element**
```html
<vendor-slider foo="" bar="" baz=""></vendor-slider>
```

**Properties**
| Name          | Type      | Description                   |
| ------------- | --------- | ----------------------------- |
| foo           | Object    |                               |
| bar           | String    | Allowed values, required etc. |
| baz           | Array     |                               |

**Dependencies**
@assaabloy/wc-vendor
npm package: @normurod72/react-scripts
Description: Configuration and scripts for Create React App.
Latest version: 4.0.5

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.