open-index/open-npm huggingface dataset:
npm package: @nathanfriend/rails-tutorial-hello-app
Description: The "Hello world!" app from the Rails tutorial
Latest version: 1.0.0

# README

This README would normally document whatever steps are necessary to get the
application up and running.

Things you may want to cover:

* Ruby version

* System dependencies

* Configuration

* Database creation

* Database initialization

* How to run the test suite

* Services (job queues, cache servers, search engines, etc.)

* Deployment instructions

* ...
npm package: @nathanfriend/rails-tutorial-sample-app
Description: The "sample app" from the Rails tutorial
Latest version: 5.0.0

# Ruby on Rails Tutorial sample application

This is the sample application for
[_Ruby on Rails Tutorial:
Learn Web Development with Rails_](http://www.railstutorial.org/)
by [Michael Hartl](http://www.michaelhartl.com/).

## License

All source code in the [Ruby on Rails Tutorial](http://railstutorial.org/)
is available jointly under the MIT License and the Beerware License. See
[LICENSE.md](LICENSE.md) for details.

## Getting started

To get started with the app, clone the repo and then install the needed gems:

```
$ bundle install --without production
```

Next, migrate the database:

```
$ rails db:migrate
```

Finally, run the test suite to verify that everything is working correctly:

```
$ rails test
```

If the test suite passes, you'll be ready to run the app in a local server:

```
$ rails server
```

To get livereload capability while developing, run this in a separate terminal:

```
$ bundle exec guard
```

For more information, see the
[_Ruby on Rails Tutorial_ book](http://www.railstutorial.org/book).
npm package: @nathanfriend/rails-tutorial-toy-app
Description: The "toy app" from the Rails tutorial
Latest version: 1.2.0

# README

This README would normally document whatever steps are necessary to get the
application up and running.

Things you may want to cover:

* Ruby version

* System dependencies

* Configuration

* Database creation

* Database initialization

* How to run the test suite

* Services (job queues, cache servers, search engines, etc.)

* Deployment instructions

* ...
npm package: @nathanfriend/roggle
Description: All the build artifacts needed to run Roggle
Latest version: 1.0.3

# Roggle

A multiplayer Boggle clone, built with React and TypeScript.
[nathanfriend.io/roggle](https://nathanfriend.io/roggle/)

[View the source on GitLab.](https://gitlab.com/nfriend/roggle)

## Developing

1. Clone this repository
1. Run `npm install`
1. Start a local WebSocket server using `npm run server`
1. In another terminal window/tab, start a local HTTP server at the root of this
   project. For example:
   - Install [`http-server`](https://www.npmjs.com/package/http-server)
     globally: `npm install --global http-server`
   - Run `http-server` at the root of this project
1. In another terminal window/tab, build the web app using `npm run build`
1. View the web app in the browser

## Publishing

To publish a new version of Roggle, bump the version in
[`package.json`](./package.json), publish to NPM
([`@nathanfriend/roggle`](https://www.npmjs.com/package/@nathanfriend/roggle)),
and run a new pipeline in the
[`website-3.0-docker`](https://gitlab.com/nfriend/website-3.0-docker) project.

## Note to self

In order to run the node websocket server on the same server as Apache, add this
to `/etc/apache2/apache2.conf`:

```ApacheConf
# pipes websocket traffic for roggle to node
ProxyPass "ws://nathanfriend.io:18734/roggle/server" ws://localhost:18734/
ProxyPassReverse "ws://nathanfriend.io:18734/roggle/server" ws://localhost:18734/
```

### Update

The live version of Roggle is no longer hosted behind Apache; leaving the info
above for historical purposes.
npm package: @nathanfriend/semantic-release-test-project
Description: A project for testing semantic-release
Author: Nathan Friend
Latest version: 1.4.0

# Semantic Release Test Project

[![Semantic Release
Badge](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
[![GitLab Pipeline
Status](https://gitlab.com/nfriend/semantic-release-test-project/badges/master/pipeline.svg)](https://gitlab.com/nfriend/semantic-release-test-project/-/pipelines/latest)

A project for testing
[semantic-release](https://github.com/semantic-release/semantic-release/).

## Pipeline environment variables

The [GitLab pipeline](.gitlab-ci.yml) relies on a few environment variables:

| Variable name  | Description                                                            |
| -------------- | ---------------------------------------------------------------------- |
| `GITLAB_TOKEN` | The token used by Semantic Release to interact with the GitLab project |
| `NPM_TOKEN`    | The token used by Semantic Release to publish the package to NPM       |
npm package: @nathanfriend/theremin
Description: All build artifacts necessary to run Theremin
Latest version: 1.0.1

Theremin
========

A musical instrument using Chrome, the HTML5 Web Audio API, and a Leap Motion controller.  Try it for yourself [here](http://nathanfriend.com/theremin/ "Nathan Friend: Theremin")!

Instructions
------------
Theremin uses the Leap Motion controller to provide a hands-free way to make music, much like the original [theremin](http://wikipedia.org/wiki/Theremin "Wikipedia: theremin").  The first hand detected by the Leap Motion controls pitch (y-axis), volume (z-axis), and tone (wrist rotation).  The second hand detected is assigned the responsibility of controlling vibrato, specifically its speed (z-axis) and amplitude (y-axis).
npm package: @nathanfriend/ts-git
Description: A naïve implementation of git, written in TypeScript. Built to help me understand how git works under the hood.
Author: Nathan Friend
Latest version: 0.1.4

# ts-git library

This is the source for the `ts-git` library. For usage details, see this [project's main README](https://gitlab.com/nfriend/ts-git).

## Project setup

```
npm install
```

### Compiles the library

```
npm run build
```

### Compiles the library in `watch` mode

```
npm run watch
```
npm package: @nathanfriend/ts-git-cli
Description: A CLI wrapper for the ts-git JavaScript library
Author: Nathan Friend
Latest version: 0.1.0

# ts-git CLI

This is the source for the `ts-git` CLI wrapper.

## Installation

`npm install -g @nathanfriend/ts-git-cli`

## Usage

The goal of `ts-git-cli` is to align as closely as possible with the real [git](https://git-scm.com/) interface. Since `ts-git` is just a learning tool, only a subset of git's features are implemented. To view which commands are available, run:

`ts-git --help`

## Developing

Below are some commands that are useful when developing `ts-git-cli`.

### Project setup

```
npm install
```

### Compiles the library

```
npm run build
```

### Compiles the library in `watch` mode

```
npm run watch
```
npm package: @nathanfriend/vue-terminal
Description: A terminal emulator in Vue
Author: xuxiaofei
Latest version: 1.0.2

# VUE-TERMINAL
Vue-terminal is a dependency-free, lightweight terminal emulator in Vue.js. Vue-terminal provide flexible api for developer to define task or command that can be executed by users.
## [Try the demo](https://xiaofeixu.cn/vue-terminal)

### How to use?
```bash
npm install @nathanfriend/vue-terminal
```
### Example

```vue
// you can also load vue-terminal.min.js in script tag:
// <script src="/path/to/file/vue-terminal.min.js"></script>
<template>
	<vue-terminal :task-list="taskList" :command-list="commandList" style="width:50%;margin:0 auto"></vue-terminal>
</template>

<script>
  import VueTerminal from 'vue-terminal';
  export default {
    components: { VueTerminal },
    data () {
      return {
        taskList: {
            // your tasks
        },
        commandList: {
            // your commands
        }
      }
    }
  }
</script>
```
The content of taskList or commandList is:
```vue
    {
      commandOrTask:{
        description:'',
        messagesOrTask:[]//(function)
        }
    }
```
You can check /docs/plugins/commandList.js and  /docs/plugins/taskList.js to view the detail of task and command.

### Configuration options

The following options can be passed as props to the `VueTerminal` component to customize its behavior:

**title** _(string)_: Sets the title that appears at the top of the terminal window, in the greeting, and in front of the prompt. Defaults to `vTerminal`.

**showHeader** _(boolean)_: Indicates whether or not to render the window chrome on top of the terminal. Defaults to `true`.

**greeting** _(string)_: Sets the greeting that will be shown to the user in the first line of the terminal. Pass `false` to not render a greeting. Defaults to `Welcome to vTerminal.`.

**showInitialCd** _(boolean)_: Initializes the terminal by showing an initial `cd vTerminal` command. Defaults to `true`.

**prompt** _(string)_: The text to show before the prompt. Defaults to `\vTerminal`.

**showHelpMessage** _(boolean)_: Indicates whether a help message should be shown.  Defaults to `true`.

**unknownCommandMessage** _(object)_: Allows the message that is printed when an unknown command is run to be customized. This object should have a `message` property and can optionally include some additional properties that change how this message is displayed:

```js
{ time: '10:53', type: 'error', label: 'Error', message: 'That command is not recognized!' },
```

If not provided, the default message will be displayed:

```
Unknown Command.

type "help" to get a supporting command list.
```
npm package: @nathangasc/fox_logger
Description: Fox logger is a module to do log with namespaces (ex: here the API namespace log -> "[11:23:52] API : GET request on /"). You will be able to disable log for defined namespaces or change log levels for every namespaces to hide error, log, info, debug or 
Latest version: 2.0.14

# Fox Logger

Fox logger is a module to do log with namespaces (ex: here the API namespace log -> "[11:23:52] API : GET request on /").
You will be able to disable log for defined namespaces or change log levels for every namespaces to hide error, log, info, debug or warning. You will also
be able to format the logs.

This module support typescript (TS).

## How to use?

- Install the module first `npm i @nathangasc/fox_logger`
- Copy this script in your code to test the module.

```js
const { createLogger } = require("@nathangasc/fox_logger");
const config = {
  options: {
    format: "[{{h}}:{{m}}:{{s}}] {{namespace}} :",
    isLogged: {
      debug: true,
      log: true,
      error: true,
      warn: true,
      info: true,
    },
  },
  namespaces: {
    default: {
      isLogged: true,
    },
  },
};

const logger = createLogger(config);
logger.default.log("Hello world, here a smart fox log");
```

- Run the script, it should output a namespaces log
npm package: @nathangb/opengen
Description: A universal, agent-native CLI for AI media generation
Latest version: 0.0.1

# OpenGen CLI

A universal, agent-native CLI that aggregates AI image and video generation providers behind a single, consistent command interface.

## Installation

```bash
npm install -g opengen
```

## Setup

Run the interactive setup to configure your Replicate API token and default models:

```bash
opengen init
```

*Alternatively, you can set the `REPLICATE_API_TOKEN` environment variable.*

## Usage

### Image Generation

```bash
opengen image "a cyberpunk cat riding a motorcycle" --model flux
```

### Video Generation

```bash
opengen video "drone flying through neon Tokyo" --model minimax --duration 5
```

### List Models

```bash
opengen models
```

## Agent-Native Features

OpenGen is designed to be easily used by AI agents:

- `--json` flag to force structured JSON output instead of TTY UI.
- Deterministic exit codes corresponding to different error cases.
- Easy to pipe standard output for streaming updates and completion.

## License

MIT
npm package: @nathanhoad/saywhat
Description: A runtime for SayWhat dialogue
Author: Nathan Hoad
Latest version: 4.0.0

# SayWhat

A JavaScript runtime for [SayWhat](https://nathanhoad.itch.io/saywhat) JSON exports.

## Usage

`npm i @nathanhoad/saywhat`

```ts
import DialogueManager from "@nathanhoad/saywhat";
// Import your dialogue resource (make sure JSON imports are available to your build)
import DialogueResource from "./dialogue.json";

// Set up any game states if you need them (game states are objects with properties and functions on them that the dialogue can use)
DialogueManager.gameStates = [{
    someVariable: true,
    someCounter: 0,
    someFunction() {
        return someCounter * someCounter;
    }
}];

// Get the next printable line of dialogue
let line = await DialogueManager.getNextDialogueLine("Some title from the dialogue", DialogueResource);
console.log(line); // line contains "character", "dialogue", "responses", and "nextId"
line = await DialogueManager.getNextDialogueLine(line.nextId, DialogueResource);
```

## GameStates, Conditions, and Mutations

If, in your dialogue you have something like this:

```
# Some title

Character: Hello
if someVariable == true
    set someCounter += 1
    Character: someCounter squared is {{someFunction()}}.
Character: Wow.
```

Then you need to define a game state that contains the properties `someVariable`, `someCounter`, and a function `someFunction` that takes no arguments and returns a value.

## Author

- [Nathan Hoad](https://github.com/nathanhoad)
npm package: @nathanhoad/saywhat-core
Description: A collection of SayWhat parsing and exporting utilities
Author: Nathan Hoad
Latest version: 1.0.0

# @nathanhoad/saywhat-core

A collection of utilities for working with [SayWhat projects](https://nathanhoad.itch.io/saywhat).

`npm install @nathanhoad/saywhat-core`

## Usage

### Converting Lines/Responses to/from text

- `textToLines` and `linesToText`: Convert the "lines" part of a node to/from its text representation.
- `textToResponses` and `responsesToText`: Convert the "responses" part of a node to/from its text representation.

### Working with Nodes

- `findLinksFromNode`: Get a list of nodes that this node might exit out to.
- `findLinksToNode`: Get a list of nodes that lead to this node.
- `filterNodes`: Filter a list of nodes by matching various properties to a string.
- `getNodesByChildId`: Get a dictionary of lines/responses within a node. The key is the line/response ID and the value is the node.

### Exporting

- `projectToXml` and `projectToResX`: Converts a SayWhat project to XML/ResX for MonoGame, etc.
- `projectToJson`: Converts a SayWhat project JSON structure to a flat JSON array of dialogue objects.
- `projectToTres`: Converts a Saywhat project into a Godot Resource.