open-index/open-npm huggingface dataset:
npm package: @spencerbeggs/aws-lambda-secrets-cache
Description: Utility module for fetching and caching secrets from AWS Systems Manager Parameter Store.
Latest version: 1.0.2

# AWS Lambda Secrets Cache

It's best not to hardcode secrets into your serverless functions as anyone with access to your souce code will need to be trusted with your sensative data and also it requires redeployment if you want to change or rotate values. Luckily, AWS makes it easy to progamatically manages secrets by storing them in [AWS Systems Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html). Looking up values is straightforeward with the SDK, but each call requires a network request. Mocking out getting secrets in testing libraries like Jest can also be a chore.

This module offers up simple utility functions that will request new secrets from Parameter Store and cache the values for subsaquent calls. The cache is a singelton, so all calls made from a single container will share the same store. Mocking this module is an easy way to abstract the secret-fetching in tests.

### Basic Usage

```js
const { getSecret } = require("@spencerbeggs/aws-lambda-secrets-cache");

module.export.handler = async (event, context, callback) {
  let mySecret = await getSecret("/some/secret");
  callback(null, {
    statusCode: 200.
    body: mySecret
  });
};
```
npm package: @spencerbeggs/claude-coordinator-core
Description: Core schemas and types for Claude Coordinator
Author: C. Spencer Beggs
Latest version: 0.1.0

# @spencerbeggs/claude-coordinator-core

Core schemas and TypeScript types for the Claude Coordinator system, providing
Zod-based validation and type-safe communication primitives.

## Features

- **Type-safe schemas** - Zod schemas with full TypeScript inference
- **Runtime validation** - Validate all data at runtime with helpful error
  messages
- **Zero runtime deps** - Only Zod required at runtime
- **Schema-first design** - Define once, use everywhere

## Installation

```bash
npm install @spencerbeggs/claude-coordinator-core
```

## Quick Start

```typescript
import {
  AgentSchema,
  JoinInputSchema,
  QuestionSchema,
  type Agent,
  type JoinInput,
} from "@spencerbeggs/claude-coordinator-core";

// Validate input data
const input = JoinInputSchema.parse({
  name: "my-agent",
  role: "source",
  repoPath: "/path/to/repo",
});

// Type inference works automatically
const agent: Agent = {
  id: "550e8400-e29b-41d4-a716-446655440000",
  role: "source",
  name: "my-agent",
  repoPath: "/path/to/repo",
  connectedAt: new Date(),
};

// Validate the agent
AgentSchema.parse(agent);
```

## API Overview

### Schemas

| Schema | Description |
| ------ | ----------- |
| `AgentSchema` | Connected agent identity |
| `JoinInputSchema` | Input for joining a session |
| `JoinResultSchema` | Result from joining (agent + sessionId) |
| `ContextEntrySchema` | Shared context key-value entry |
| `ShareContextInputSchema` | Input for sharing context |
| `QuestionSchema` | Question with optional answer |
| `AskInputSchema` | Input for asking a question |
| `AnswerInputSchema` | Input for answering a question |
| `DecisionSchema` | Logged decision with rationale |
| `LogDecisionInputSchema` | Input for logging a decision |

### Types

All types are inferred from schemas:

```typescript
import type {
  Agent,
  JoinInput,
  JoinResult,
  ContextEntry,
  Question,
  Decision,
} from "@spencerbeggs/claude-coordinator-core";
```

### Constants

```typescript
import {
  DEFAULT_PORT,   // 3030
  DEFAULT_HOST,   // "localhost"
  DEFAULT_URL,    // "ws://localhost:3030"
} from "@spencerbeggs/claude-coordinator-core";
```

## Documentation

- [Architecture Design Doc](../../.claude/design/claude-coordinator-core/architecture.md)
- [Server Package](../claude-coordinator-server/README.md)
- [MCP Bridge Package](../claude-coordinator-mcp/README.md)

## License

MIT
npm package: @spencerbeggs/claude-coordinator-server
Description: tRPC WebSocket server for Claude Coordinator
Author: C. Spencer Beggs
Latest version: 0.1.0

# @spencerbeggs/claude-coordinator-server

tRPC WebSocket server enabling real-time coordination between Claude Code
instances through session management, context sharing, Q&A, and decision
logging.

## Features

- **Real-time communication** - WebSocket-based with tRPC subscriptions
- **Session management** - Agents join/leave coordinated sessions
- **Context sharing** - Share and retrieve key-value context entries
- **Q&A system** - Ask and answer questions between agents
- **Decision logging** - Track decisions made during coordination

## Installation

```bash
npm install @spencerbeggs/claude-coordinator-server
```

## Quick Start

### Start the Server

```bash
# Using npx
npx @spencerbeggs/claude-coordinator-server

# With custom port
PORT=3031 npx @spencerbeggs/claude-coordinator-server

# With custom host
HOST=0.0.0.0 PORT=3030 npx @spencerbeggs/claude-coordinator-server
```

### Use Programmatically

```typescript
import { createServer } from "@spencerbeggs/claude-coordinator-server";

const server = createServer({
  port: 3030,
  host: "localhost",
});

console.log("Server started on ws://localhost:3030");

// Graceful shutdown
process.on("SIGTERM", () => {
  server.close();
});
```

## API Overview

The server exposes tRPC procedures organized by domain:

### Session

| Procedure | Type | Description |
| --------- | ---- | ----------- |
| `session.join` | mutation | Join session as an agent |
| `session.leave` | mutation | Leave current session |
| `session.list` | query | List connected agents |
| `session.onAgentChange` | subscription | Real-time agent updates |

### Context

| Procedure | Type | Description |
| --------- | ---- | ----------- |
| `context.share` | mutation | Share a context entry |
| `context.get` | query | Get context by key |
| `context.list` | query | List context entries |
| `context.onContextChange` | subscription | Real-time context updates |

### Questions

| Procedure | Type | Description |
| --------- | ---- | ----------- |
| `questions.ask` | mutation | Ask a question |
| `questions.answer` | mutation | Answer a question |
| `questions.listPending` | query | List unanswered questions |
| `questions.onQuestion` | subscription | Real-time Q&A updates |

### Decisions

| Procedure | Type | Description |
| --------- | ---- | ----------- |
| `decisions.log` | mutation | Log a decision |
| `decisions.list` | query | List all decisions |

## Configuration

| Environment Variable | Default | Description |
| -------------------- | ------- | ----------- |
| `PORT` | `3030` | Server port |
| `HOST` | `localhost` | Server host |

## Documentation

- [Architecture Design Doc](../../.claude/design/claude-coordinator-server/architecture.md)
- [Core Schemas Package](../claude-coordinator-core/README.md)
- [MCP Bridge Package](../claude-coordinator-mcp/README.md)

## License

MIT
npm package: @spencerchubb/html-gen
Description: HTML Gen is a typescript library that generates static HTML.
Author: spencerchubb
Latest version: 0.0.2

# HTML Gen

HTML Gen is a typescript library that generates static HTML

## Why use HTML Gen?

- Write html with typesafety
- Keep your html DRY

## Installation

```bash
npm install @spencerchubb/html-gen
```

## Example usage

```typescript
```
npm package: @spencerlabs/eslint-config
Description: ESLint configuration for Spencer Creative
Latest version: 1.0.0

# @spencerlabs/eslint-config

ESLint configuration for Spencer Creative

## Install

```bash
# npm
npm i -D @spencerlabs/eslint-config

# yarn
yarn add -D @spencerlabs/eslint-config
```

## Add to ESLint Config

```js
{
  "extends": [
    // ... other configs
    "@spencerlabs/eslint-config"
  ],
}
```

## Add Prettier Config

Create a `prettier.config.js` file. This helps avoid ESLint and Prettier conflicts.

```js
/** @type {import('prettier').RequiredOptions} */
module.exports = {
  arrowParens: 'always',
  bracketSpacing: true,
  tabWidth: 2,
  printWidth: 80,
  semi: false,
  singleQuote: true,
  trailingComma: 'es5',
}
```
npm package: @spencerls/react-native-skia-view
Description: A lightweight React Native component for Skia backgrounds and gradients
Author: Spencer Smith
Latest version: 1.0.1

# react-native-skia-view

A lightweight React Native helper for Skia backgrounds and gradients.

## Install

```bash
npm install @spencerls/react-native-skia-view
```

## Usage

```tsx
import { SkiaView } from "react-native-skia-view";
import { LinearGradient } from "@shopify/react-native-skia";
import { Text } from "react-native";

const background = (
  <LinearGradient
    start={{ x: 0.3, y: 0 }}
    end={{ x: 0.7, y: 1 }}
    colors={["#394A5E", "#232D3C"]}
  />
);

<SkiaView backgroundComponent={background}>
  <Text>My stuff here</Text>
</SkiaView>;
```
npm package: @spences10/marvel-names
Description: Get random Marvel names
Author: Scott Spence
Latest version: 1.3.0

# Marvel Names

Learning How to Write an Open Source JavaScript Library

This [@scoped]package will return a random Marvel character name or an array of random names

I used the egghead.io guide here: https://egghead.io/courses/how-to-write-an-open-source-javascript-library

The names were taken from here: https://http://marvel.com/comics/characters
npm package: @spences10/sensitive-words
Description: Filter out a list of sensitive words
Author: Scott Spence
Latest version: 1.0.0

# Example

```shell
$ yarn install sensitive-words -D
```

```javascript
const { sensitiveWords } = require('@spences10/sensitive-words')
// ES2015 modules
import { sensitiveWords } from '@spences10/sensitive-words'


const filtered = sensitiveWords(
  'The new apple macbook pro will have a touchbar',
  ['pro', 'touchbar']
)

console.log(filtered)
// expected result
// The new apple macbook ***** will have a *****
```
npm package: @spendbch/slp-sdk
Description: SLP SDK powered by BITBOX
Author: Gabriel Cardona
Latest version: 1.1.4

# SLP SDK

[Simple Ledger Protocol](https://simpleledger.cash) is an emerging standard for issuing secure tokens on the Bitcoin Cash blockchain.

[SLP SDK](https://developer.bitcoin.com/slp) is powered by [BITBOX](https://developer.bitcoin.com/bitbox).

## TODO

- List Balances
  - List all balances for token id
npm package: @spendfy/core
Description: Microservice Base Application
Author: VIMGAS
Latest version: 2.0.0-alpha.36

# Spendfy Microservice Base

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
Conteúdo

- [Installation](#installation)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

_Package @coobo/base_

## Installation

The Spendfy base microservice is easy to install, simply run `yarn add @coobo/base` and you are good to go.
npm package: @spendology/eslint-config
Description: ESLint config for Spendology projects
Author: Dan Mason
Latest version: 6.0.3

# @spendology/eslint-config
[![npm version](https://img.shields.io/npm/v/@spendology/eslint-config.svg)](https://www.npmjs.com/package/@spendology/eslint-config)
![Run Tests](https://github.com/TMCApplications/eslint-config/workflows/Run%20Tests/badge.svg)

This package provides Spendology's .eslintrc as an extensible shared config.

## Usage

We export one ESLint configuration for your usage.

Our default export contains all of our ESLint rules, including ECMAScript 6+, React and React Redux. It requires `eslint`, `eslint-config-airbnb`, `eslint-plugin-react` , `eslint-plugin-react-hooks` and `eslint-plugin-react-redux`.

### Install Option 1
If using **npm 5+**, use this shortcut

```sh
npx install-peerdeps --dev @spendology/eslint-config
```

If using **yarn**, you can also use the shortcut described above if you have npm 5+ installed on your machine, as the command will detect that you are using yarn and will act accordingly.

### Install Option 2
Install the correct versions of each package, which are listed by the command:

```sh
npm info "@spendology/eslint-config@latest" peerDependencies
```

If using **yarn**, run the command to list the peer dependencies and versions, then run `yarn add --dev <dependency>@<version>` for each listed peer dependency.
npm package: @spennyp/rainbowkit
Description: The best way to connect a wallet
Author: Rainbow
Latest version: 0.4.6

<a href="https://rainbowkit.com">
  <img alt="rainbowkit" src="https://user-images.githubusercontent.com/372831/168174718-685980e0-391e-4621-94a1-29bf83979fa5.png" />
</a>

# RainbowKit

**The best way to connect a wallet 🌈**

RainbowKit is a [React](https://reactjs.org/) library that makes it easy to add wallet connection to your dapp.

- 🔥 Out-of-the-box wallet management
- ✅ Easily customizable
- 🦄 Built on top of [wagmi](https://github.com/tmm/wagmi) and [ethers](https://docs.ethers.io)

## Quick start

You can scaffold a new RainbowKit + [wagmi](https://wagmi.sh) + [Next.js](https://nextjs.org) app with one of the following commands, using your package manager of choice:

```bash
npm init @rainbow-me/rainbowkit@latest
# or
yarn create @rainbow-me/rainbowkit@latest
# or
pnpm create @rainbow-me/rainbowkit@latest
```

## Documentation

For full documentation, visit [rainbowkit.com](https://rainbowkit.com).

### Try it out

You can use the CodeSandbox links below try out RainbowKit:

- with [Create React App](https://codesandbox.io/s/rainbowkit-create-react-app-1vwx1r)
- with [Create React App (TypeScript)](https://codesandbox.io/s/rainbowkit-create-typescript-app-xuxnqy)
- with [Next.js](https://codesandbox.io/s/rainbowkit-nextjs-gz890p)

## Examples

The following examples are provided in the [examples](./examples/) folder of this repo.

- `with-create-react-app`
- `with-next`
- `with-next-custom-button`
- `with-next-mint-nft`
- `with-remix`

### Running examples

To run an example locally, install dependencies.

```bash
pnpm install
```

Then go into an example directory, eg: `with-next`.

```bash
cd examples/with-next
```

Then run the dev script.

```bash
pnpm run dev
```

## Contributing

Please follow our [contributing guidelines](./.github/CONTRIBUTING.md).

## License

Licensed under the MIT License, Copyright © 2022-present [Rainbow](https://rainbow.me).

See [LICENSE](./LICENSE) for more information.
npm package: @spense-as/fonts
Description: Local fonts for Spense projects
Latest version: 2.2.1

This is a repo for importing correct fonts locally.
It requires Next.js to work.

## Usage

You use it like this in your project
```js
    import { FontHandling } from "@spense-as/fonts"
    
    <FontHandling font="Roboto" />
```
It then imports your specified font locally.

## Adding a new font
1. Create a new component for the font in this repo. See how others have implemented it.
2. Add the component to [index.ts](/src/index.ts)
3. Add the new font to the list below in readme.md
4. Publish the package. This can be done by conventional commits. (ie: `fix|feat: [your text]` in your commit)
5. Bump the import in your project to the latest version. (Run `npm install @spense-as/fonts` in your project)
6. Add your font-files to the public/fonts-folder in [spense web](https://github.com/staccx/spense-web)
7. Get someone to release the latest version of [spense web](https://github.com/staccx/spense-web) to spense.no.


## Supported fonts
These fonts are supported:

- Bilia Hellix SemiBold
- Cupra
- Hellix SemiBold
- HellixRegular
- Lato
- Lora
- Merriweather
- Merriweather Sans
- Noto Sans
- Noto Serif
- Nunito
- Nunito Sans
- Open Sans
- Oswald
- Poppins
- Porsche Next TT
- PT Mono
- PT Sans
- PT Sans Narrow
- PT Serif
- Raleway
- Roboto
- Roboto Condensed
- Roboto Mono
- Rubik
- Skoda Next
- Source Code Pro
- Source Sans Pro
- Source Serif Pro
- Ubuntu
- Ubuntu Condensed
npm package: @spenserca/scrub-a-dub-dub
Description: A utility for marking object properties for data sanitization
Author: Spenser_Andreassen
Latest version: 1.2.2

# scrub-a-dub-dub

A utility for marking object properties for data sanitization

## Usage

This library provides these defaults to apply during scrubbing:

| type       | default      |
| ---------- | ------------ |
| string     | ********     |
| number     | 8675309      |
| Date       | 12/31/9999   |
| all others | ********     |

You can use the default values by following these steps:

1. For a given class mark properties that you want scrubbed with the `@scrub` decorator

   ```ts
   export class SomeClass {
     @scrub()
     propertyToScrub: string;

     constructor (message: string) {
       this.propertyToScrub = message;
     }
   }
   ```

1. Scrub the object by calling `scrubObject`
   ```ts
   const scrubbed = scrubObject(new SomeClass('hello world'));
   ```
1. Any properties that are marked should be scrubbed
   ```ts
   console.log(scrubbed.propertyToScrub); // logs the default scrubbed string '********' and not 'hello world'
   ```

Alternatively, you can provide your own scrubbing function to the decorator to override
the default scrubbing methods:

1. For a given class mark properties that you want scrubbed with the `@scrub` decorator

   ```ts
   export class SomeClass {
     @scrub({
       scrubFunction: () => 'spenser was not here'
     })
     propertyToScrub: string;

     constructor (message: string) {
       this.propertyToScrub = message;
     }
   }
   ```

1. Scrub the object by calling `scrubObject`
   ```ts
   const scrubbed = scrubObject(new SomeClass('hello world'));
   ```
1. Any properties that are marked should be scrubbed
   ```ts
   console.log(scrubbed.propertyToScrub); // logs the override's scrubbed string 'spenser was not here' and not 'hello world'
   ```