open-index/open-npm huggingface dataset:
npm package: @ideadesignmedia/develop
Description: Easily create a project from several templates.
Latest version: 1.1.32

# Develop

Easily create a project from several templates.

## Usage

```npx @ideadesignmedia/develop```

## #Options

Add a folder path as the first argument to create a folder and add the template files there.

```npx @ideadesignmedia/develop my-project```

###### You will need to install the dependencies yourself using yarn or npm.

Add the correct template and true for the value to use that template.

```npx @ideadesignmedia/develop web3=true```

#### Templates

##### Default

Creates a new react/express project with a basic setup.

```npx @ideadesignmedia/develop```

##### PWA

Creates a new react/typescript/express project with an advanced setup and a service worker.

```npx @ideadesignmedia/develop pwa=true```

##### Auth

Creates a new react/typescript/express project with a advanced setup and an authentication system.

```npx @ideadesignmedia/develop auth=true```

##### Web3-React

Creates a new react/express project with web3 and some basic hooks.

```npx @ideadesignmedia/develop web3=true```

##### Web3-Solid

Creates a new solid/express project with web3 and some basic hooks.

```npx @ideadesignmedia/develop web3=true solid=true```

##### Solid

Creates a new solid/express project.

```npx @ideadesignmedia/develop solid=true```

##### Swag

Creates a new project with the Swag components library setup.

```npx @ideadesignmedia/develop swag=true```
##### Swag

Creates a new project with the Swag components library setup with web3.

```npx @ideadesignmedia/develop web3=true swag=true```
npm package: @ideadesignmedia/encryption
Description: Lightweight AES-256-CTR helpers for Node.js with both programmatic and CLI interfaces.
Latest version: 1.0.3

# encryption

Lightweight AES-256-CTR helpers for Node.js with both programmatic and CLI interfaces.

Source repository: https://github.com/ideadesignmedia/encryption

## Install

```bash
npm install @ideadesignmedia/encryption
```

## Quick start (Node.js)

```js
const { encrypt, decrypt, randomString, KEY_LENGTH, IV_LENGTH } = require('@ideadesignmedia/encryption')

const key = randomString(KEY_LENGTH) // 32 ASCII characters; supply your own for production
const iv = '1234567891011121'        // Must be 16 ASCII characters; update before shipping anything sensitive

const ciphertext = encrypt('hello world', key, iv)
console.log(ciphertext) // => hex encoded string

const plainText = decrypt(ciphertext, key, iv)
console.log(plainText) // => 'hello world'
```

Notes:
- Keys must be exactly `KEY_LENGTH` (32) ASCII characters (or a `Buffer` of 32 bytes) and initialization vectors must be `IV_LENGTH` (16) ASCII characters (`Buffer` of 16 bytes).
- Inputs to `encrypt` should be UTF-8 strings; `decrypt` expects a hex string produced by this package.
- `randomString(length)` returns a numeric string of the requested length; bring your own cryptographic key management for production secrets.
- Bundled TypeScript definitions export the helpers and constants shown above for ergonomic imports.

### TypeScript example

```ts
import { encrypt, decrypt, KEY_LENGTH, IV_LENGTH } from '@ideadesignmedia/encryption'

const key = '0123456789abcdef0123456789abcdef' // KEY_LENGTH = 32
const iv = '1234567891011121'                  // IV_LENGTH = 16

const cipher = encrypt('typed usage', key, iv)
const plain = decrypt(cipher, key, iv)
```

## CLI usage

```bash
# Encrypt plain text (writes hex ciphertext to stdout)
npx @ideadesignmedia/encryption encrypt "super secret" 0123456789abcdef0123456789abcdef 1234567891011121

# Decrypt the ciphertext (writes plain text to stdout)
npx @ideadesignmedia/encryption decrypt <hex-string> 0123456789abcdef0123456789abcdef 1234567891011121
```

Run `npx @ideadesignmedia/encryption --help` for inline usage information. Leaving the key and IV arguments empty uses the built-in defaults (intended for local testing only).

Remember: CLI string inputs for `key` and `iv` must be exactly 32 and 16 characters respectively (ASCII). Provide Buffers when working with non-ASCII data.

## API reference

| Function | Description |
| --- | --- |
| `encrypt(value, key?, iv?)` | Encrypts a UTF-8 string using AES-256-CTR; returns a hex string. |
| `decrypt(ciphertext, key?, iv?)` | Decrypts a hex string generated by `encrypt`; returns a UTF-8 string. |
| `randomString(length?)` | Creates a numeric string of the supplied length (default `32`). |
| `KEY_LENGTH` / `IV_LENGTH` | Exported constants so you can validate your own keys and IVs. |

## Development

```bash
npm install
npm test

# Quick sanity check
node -e "const {encrypt, decrypt} = require('./'); const out = encrypt('demo'); console.log(out, decrypt(out));"
```
npm package: @ideadesignmedia/format-image
Description: Easily format images to many specific sizes using this simple script.
Latest version: 1.1.1

# @ideadesignmedia/format-image

Easily format images to many specific sizes using this simple script.

## Usage

```npx @ideadesignmedia/format-image src=path/to/image.jpg destination=path/to/destination size=size,size,size convertedTo=webp height=true```

## Options

### src

The path to the image you want to format.
Can be a folder of images or a single image.

### destination

The path to the destination filename or folder.
If the destination is a folder, the image will be saved with the same name as the source image to each size.
If the destination does not exist, it will be created.
If the src is a folder, the destination must be a folder.
If the src is a single image, the destination can be a folder or a single image.
If the destination is a single image, the image will be saved with the named for each size:
```{destination}-{size}.{extension}```


### size

The sizes you want to format the image to for width or height in px.
Can be a single size or a comma separated list of sizes.


### convertedTo

The format you want to convert the image to.
Possible formats: webp, jpg, png, tiff, gif, bmp, jp2, jxr, psd, pdf, svg, ico, heic, avif


### height

If included image will be formatted to the height instead of the width.
npm package: @ideadesignmedia/json-csv
Description: All in one JSON to CSV and CSV to JSON package
Author: ideadesignmedia
Latest version: 1.0.3

# jsoncsv

## About
All in one JSON to CSV and CSV to JSON package

## Installation
---
yarn install @ideadesignmedia/json-csv


## Usage
---
```
const { csv, json, convertFormat } = require('@ideadesignmedia/json-csv')
````

### csv()
---
csv(JSON, fields) => CSV as String
example:
```
let object = [
    {"name": "Sam", "height": "6'2\""},
    {"name": "Jim", "height": "7'3\""}
]
let result = csv(object, ['height'])
console.log(result)
/*
    "height"
    "6'2"""
    "7'3"""
*/
```

### json()
---
json(CSV as String, fields) => JSON Object
Returns a promise
example:
```
let string = `"name","height"
"Sam","6'2"""
"Jim","7'3"""`
json(string, ['height']).then(result => {
    console.log(result)
    /*
        [
            {"height": "6'2\""},
            {"height": "7'3\""}
        ]
    */
})
```

###convertFormat()
---
convertFormat(path, fields) => ConvertedDocument
Provide the path to a csv or json file and get the result as the other format
example:
```
let doc = './document.csv'
convertFormat(doc).then(r => {
    console.log(r)
    /*
        document as a json array of objects
    */
})
doc = './document.json'
convertFormat(doc).then(r => {
    console.log(r)
    /*
        CSV string of that json document
    */
})
```
npm package: @ideadesignmedia/logger.js
Description: Easily create a log file and append data to it. Includes presets for erros or visits.
Author: ideadesignmedia
Latest version: 1.0.1

# Logger.js
Easily create a log file and append data to it. Includes presets for erros or visits.

## Installation

yarn add @ideadesignmedia/logger.js
npm package: @ideadesignmedia/subgraph
Description: A subgraph that indexes contract events for thegraph.com
Latest version: 1.0.3

# Subgraph for Contract Events

## Overview

This is setup to deploy a subgraph to thegraph.com for contract events.

## Setup

### Installation

```yarn install```

## Development

Create handlers for the events you want to track by creating an entry ts file that exports the methods for creating/updating your entities in the src folder.
Update the config file with the contract address, start block, name, src and abi for the contract you want to track.
Update the subgraph.yaml.mustache file with the events and their handlers.
Update schema.graphql with the entities you will create and add them to the subgraph.yaml.mustache file.

### Test your subgraph will compile

```yarn codegen```

### Deployment

#### Mainnet
```yarn deploy:mainnet```

#### Testnet - Goerli
```yarn deploy:goerli```
npm package: @ideadesignmedia/subprocess
Description: Easily create and manage subprocesses through json signals.
Latest version: 1.1.1

# Subprocess Helper

Easily create and manage subprocesses through json signals.

## Usage

```const { createSubprocess, handleMain } = require('@ideadesignmedia/subprocess')```

### createSubprocess
```createSubprocess(command, args = [], options = {}, onSignal: ({type: string, data: any}) => void) => { child, eventManager request, send, close, id }```

Creates a subprocess and returns a function to send signals to it.

##### Inputs

```command``` - The command to run in the subprocess.

```args``` - The arguments to pass to the command.

```options``` - The options to pass to the child process. If you require ipc for communication use ```{ipc: true}```.

```onSignal({type: string, data: any}) => void``` - A function to handle signals from the subprocess.

###### Parameters

Object with keys:

```type: string``` - The type of signal received.

```data: any``` - The data received.

##### Returns
    
```child: ChildProcess``` - The child process.
    
```eventManager: EventEmitter``` - The event manager for the child process.
    
```request: (type: string, data: any) => Promise<{type: 'success'|'failure', data: any}>``` - A function to send a request to the subprocess and wait for a response.
    
```send: ({type: string, data: any}) => void``` - A function to send a signal to the subprocess.
    
```close: () => void``` - A function to close the subprocess.
    
```id: string``` - The id of the subprocess.


### handleMain
```handleMain(onMessage: ({type: string, data: any}) => void) => { eventManager, sendToMain }```

Creates a handler for signals to the subprocess and returns a function to send signals to the main process.

##### Inputs

```onMessage({type: string, data: any}) => void``` - A function to handle signals from the subprocess.

###### Parameters

```type: string``` - The type of signal received.

```data: any``` - The data received.

##### Returns
    
```eventManager: EventEmitter``` - The event manager for the main process.
    
```sendToMain: ({type: string, data: any}) => void``` - A function to send a signal to the main process.
npm package: @ideadesignmedia/swag
Description: ## Installation ``` yarn add @ideadesignmedia/swag ```
Latest version: 3.0.2

# Swag

## Installation
``` yarn add @ideadesignmedia/swag ```

## Usage

```
import {State, ControlledComponent} from '@ideadesignmedia/swag'

const location = new State(window.location.pathname)
const navigate = (path) => {window.history.pushState({},"",path); location.value = window.location.pathname}
window.addEventListener('popstate',() => location.value = window.location.pathname)

class PageNotFound extends HTMLElement {
    render() {
        this.innerHTML = `<div class="column w100 jfs gap">
            <h1>Page not found</h1>
            <button>Home</button>
        </div>`
        this.querySelector('button').addEventListener('click', () => {
            navigate('/')
        })
    }
    connectedCallback() {
        this.render()
    }
}
customElements.define('page-not-found', PageNotFound)

class App extends ControlledComponent {
    constructor() {
        super()
        this.shadow = this.attachShadow({ mode: 'open' })
        this.state = new State(0, this.update)
    }
    render() {
        this.shadow.innerHTML = `<style>
    </style>
    <div id="app">
        <h1>Page ${this.state.value}</h1>
        <div class="row gap">
            <button id="more">More</button>
            <button id="less">Less</button>
        </div>
    </div>`
        this.shadow.querySelector('#more').addEventListener('click', () => {
            this.state.value = this.state.value+1
        })
        this.shadow.querySelector('#less').addEventListener('click', () => {
            this.state.value = this.state.value-1
        })

    }
    connectedCallback() {
        this.render()
    }
}

document.querySelector('body').innerHTML = ''
const root = document.createElement('div')
root.id = 'root'
document.querySelector('body').appendChild(root)
const renderPage = (page) => root.innerHTML = (() => {
    switch (page) {
        case '/': return '<app-component></app-component>'
        default: `<page-not-found></page-not-found>`
    }
}
)();
renderPage(location.value)
location.on((page) => renderPage(page))
```
npm package: @ideadesignmedia/whisper.js
Description: Call whisper from the command line using node and return the output files.
Author: Sam Wagner
Latest version: 1.0.2

# whisper.js
Call whisper from the command line using node and return the output files.

## Installation
Must have whisper installed and added to your command line path.
See: https://github.com/openai/whisper.git
```
yarn add @ideadesignmedia/whisper.js
```

## Usage
```
const whisper = require('@ideadesignmedia/whisper.js');

const audioFiles = [
  'path/to/audio/file.mp3',
  'path/to/audio/file2.mp3',
  'path/to/audio/file3.mp3',
];

whisper(audioFiles).then((outputFiles) => {
  console.log(outputFiles);
}).catch(e => {
    console.log('Failed to whisper', e);
})
```
npm package: @ideafast/idgen
Description: ID generators for the IDEAFast study
Author: Florian Guitton
Latest version: 0.2.1

[![Total alerts](https://img.shields.io/lgtm/alerts/g/ideafast/ideafast-idgen.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/ideafast/ideafast-idgen/alerts/)
[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/ideafast/ideafast-idgen.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/ideafast/ideafast-idgen/context:javascript)
[![Mutation testing badge](https://img.shields.io/endpoint?style=flat&url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2Fideafast%2Fideafast-idgen%2Fmaster)](https://dashboard.stryker-mutator.io/reports/github.com/ideafast/ideafast-idgen/master)
![Build status](https://github.com/ideafast/ideafast-idgen/workflows/Node.js%20CI/badge.svg)
[![Dependency Status](https://img.shields.io/david/ideafast/ideafast-idgen.svg)](https://david-dm.org/ideafast/ideafast-idgen)
[![devDependency Status](https://img.shields.io/david/dev/ideafast/ideafast-idgen.svg)](https://david-dm.org/ideafast/ideafast-idgen?type=dev)

![IDEAFast ID Generator](https://avatars3.githubusercontent.com/u/60649739?s=100&v=4)

# The IDEAFast ID Generation tool

## Usage

### Node.js

In a modern ES6 compatible setup you can simply import the `@ideafast/idgen` package (available from both NPM and GitHub).

```bash
$ yarn add @ideafast/idgen
```

```js
import IDEAFastID from '@ideafast/idgen';

// Generate an ID
const id = IDEAFastID.generate();
// Validate an ID
if (IDEAFastID.validate(id))
    console.log(id);
```

### Browser 

To use the library directly within an HTML document you can reference or download it from a CDN such as [unpkg.com](https://unpkg.com)

```html
<html>
    ...
    <script src="https://unpkg.com/@ideafast/idgen@latest/dist/lib.umd.js"></script>
    <script>
        // Generate an ID
        const id = IDEAFastID.generate();
        // Validate an ID
        if (IDEAFastID.validate(id))
            document.body.innerText = id;
    </script>
    ...
</html>
```

## Local development

### Requirements

First things first, there's always something before you can start.

To make our life easier, we use [Yarn](https://yarnpkg.com/) a lot. Make sure you have it installed.

### Build the library

Building the library is easy. First run `yarn install && yarn run build`, to build the application. Artifacts will be rendered in the `/dist` folder as the root of your clone.

## Contributing
Pull requests are welcome!
See the [list of open issues](https://github.com/ideafast/ideafast-idgen/issues) to get an idea of what you could work on.
Or, if you have an awesome idea, please [create a new issue](https://github.com/ideafast/ideafast-idgen/issues/new).
npm package: @ideaflowbox/slider
Description: A javascript library that renders a simple recommendation frame
Author: Piotr Miloszewicz
Latest version: 1.0.17

# Welcome to @ideaflowbox/slider 👋
[![Version](https://img.shields.io/npm/v/@ideaflowbox/slider.svg)](https://www.npmjs.com/package/@ideaflowbox/slider)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/IDEAflowbox/slider/graphs/commit-activity)
[![License: GLP-3.0](https://img.shields.io/github/license/IDEAflowbox/slider)](https://github.com/IDEAflowbox/slider/blob/master/LICENSE)

> A javascript library that renders a simple recommendation frame

### 🏠 [Homepage](https://idea-commerce.com/ideaflowbox/)

## Install

```sh
npm install @ideaflowbox/slider
```

## 📝 License

Copyright © 2022 [IDEA Commerce S.A.](https://github.com/IDEAflowbox)

This project is [GLP-3.0](https://github.com/IDEAflowbox/slider/blob/master/LICENSE) licensed.
npm package: @ideaforceai/agentcadia-tools
Description: Publishable AgentSkill + CLI wrapper for deterministic Agentcadia workspace sync
Latest version: 0.1.7

# agentcadia-tools

`agentcadia-tools` is a publishable AgentSkill + CLI wrapper for deterministic Agentcadia workspace sync.

It includes:

- `SKILL.md` for agent runtimes that consume skills
- Python scripts for the real upload/download logic
- a small Node CLI entrypoint so the package can be executed with `npx`

## Install / run with npx

```bash
npx @ideaforceai/agentcadia-tools --help
npx @ideaforceai/agentcadia-tools upload --help
npx @ideaforceai/agentcadia-tools download --help
```

## Requirements

- Node.js 18+
- Python 3 available as `python3`

## Commands

### Upload

Important: upload requires metadata. The CLI will fail unless you pass either `--metadata-file` or `--metadata-json`.

For agent runtimes, the expected flow is:

1. read the workspace first
2. synthesize metadata from workspace files such as `AGENTS.md`, `SOUL.md`, `IDENTITY.md`, `USER.md`, and `TOOLS.md`
3. build a JSON object containing at least `title`, `summary`, `detailDescription`, `description`, `category`, and `tags`
4. save that JSON to a temporary file or pass it inline with `--metadata-json`
5. only then run the upload command
6. after success, send a short owner-facing upload notice first, then the share-image URL prompt, then the human-sounding share-copy prompt

Do not stop at the CLI error and immediately ask the owner for metadata unless the workspace is genuinely too sparse to infer a reasonable first draft.

Example with a metadata file:

```bash
npx @ideaforceai/agentcadia-tools upload \
  --task-id <taskId> \
  --origin <origin> \
  --workspace <workspacePath> \
  --metadata-file <metadataJsonPath>
```

Example with inline metadata JSON:

```bash
npx @ideaforceai/agentcadia-tools upload \
  --task-id <taskId> \
  --origin <origin> \
  --workspace <workspacePath> \
  --metadata-json '{"title":"...","summary":"...","detailDescription":"...","description":"...","category":"productivity","tags":["automation","assistant"]}'
```

### Download

```bash
npx @ideaforceai/agentcadia-tools download \
  --agent-id <agentId> \
  --token <downloadToken> \
  --origin <origin> \
  --workspace <workspacePath>
```

Add `--allow-overwrite` during download only when you explicitly want to overwrite existing local files.

## Package contents

Published files:

- `SKILL.md`
- `bin/agentcadia-tools.js`
- `scripts/`
- `references/`

## Publish to npm

```bash
npm login
npm pack --dry-run
npm publish --access public
```

For later releases:

```bash
npm version patch
npm publish --access public
```