open-index/open-npm huggingface dataset:
npm package: @n12r/jarvis-control
Description: Deterministic workflow gates for AI-assisted delivery
Latest version: 0.2.5

# Jarvis Control Plane

Deterministic workflow gates for AI-assisted software delivery.

## Commands

- `jarvis init` - scaffold workflow files into the current project.
- `jarvis status` - show current stage and gate status.
- `jarvis check [stage]` - run gate checks for current or specified stage.
- `jarvis promote <target-stage>` - move to next stage if current stage passes.
- `jarvis repo [owner repo-name --public|--private --template owner/repo]` - create and clone a new repo (prompts interactively if args are omitted).
- `npm run cp:codex-pr-check` - validate `workflow/artifacts/codex-review.json` against gate policy.

## Local usage

```bash
npm install
npm run cp:init
npm run cp:status
npm run cp:check
```

## Stage model

`discovery -> contract -> plan -> build -> harden -> release -> operate`

Gate requirements are defined in `workflow/gates.yaml`.
Workflow state is tracked in `workflow/state.yaml`.
Transition history is tracked in `workflow/history.yaml`.
Note: `workflow/` is runtime state and is intentionally not committed in this template repo.
Run `jarvis init` in each new repo to scaffold it.

## How this controls AI-assisted work

1. AI can generate code and docs.
2. Promotion between stages is blocked until deterministic checks pass.
3. Stage transitions are chain-validated from history to block stage jumps.
4. CI runs the same checks to prevent bypass.

## Codex PR Gate

`harden` stage includes a Codex review gate:

1. Required artifact: `workflow/artifacts/codex-review.json`
2. Required command: `npm run cp:codex-pr-check`

Policy:

1. `status: "fail"` blocks gate pass unless override file exists.
2. Unresolved `high` severity findings block gate pass unless override file exists.
3. Optional override file: `workflow/artifacts/codex-override.md`

## Reuse Across New Repos

1. Mark this repo as a GitHub Template Repository.
2. Create a new repo from template:
   - `jarvis repo <owner> <new-repo-name> --private`
   - From any directory: `jarvis repo <owner> <new-repo-name> --private --template <owner/repo>`
   - Optional env default: `export JARVIS_TEMPLATE_REPO=<owner/repo>`
3. Apply branch and environment protections:
   - `scripts/apply-github-protections.sh <owner> <repo> main`
4. Follow the full checklist:
   - `docs/REPO_BOOTSTRAP_CHECKLIST.md`

## Scripts

- `scripts/create-repo-from-template.sh` - create/clone repos from this template.
- `scripts/apply-github-protections.sh` - enforce branch/environment protection via GitHub API.
- `scripts/guard-state-change.js` - CI guard to block invalid `state.yaml` edits.

## Next steps

1. Publish this package to npm.
2. Use `npx jarvis-control@<version> init` in any project.
3. Customize `workflow/gates.yaml` per project domain.
npm package: @n1hal/strx
Description: Lightweight string helpers with no dependencies.
Author: Nihal K
Latest version: 1.0.6

# @n1hal/strx

> Repository for NPM package @n1hal/strx, utility package for string manipulations and string related tools.
> Small, dependency-free string helpers — clean, consistent, and zero bloat.

[![npm version](https://img.shields.io/npm/v/@n1hal/strx.svg?style=flat-square)](https://www.npmjs.com/package/@n1hal/strx)
[![license](https://img.shields.io/npm/l/@n1hal/strx.svg?style=flat-square)](./LICENSE)
[![npm bundle size](https://img.shields.io/bundlephobia/minzip/@n1hal/strx?style=flat-square)](https://bundlephobia.com/package/@n1hal/strx)

---

## 🚀 Features

- 💡 **Lightweight** – No dependencies, <1 KB minified.
- ✨ **Modern ESM** – Works seamlessly in Node and browsers.
- 📚 **Typed** – Includes full TypeScript definitions.
- ⚡ **Handy** – Covers common string formatting and casing tasks.

---

## 📦 Installation

```bash
npm i @n1hal/strx
```

Or with pnpm:

```bash
pnpm add @n1hal/strx
```

Or with Yarn:

```bash
yarn add @n1hal/strx
```
---
## 🧠 Usage

```js
import { capitalize, slugify, camelCase } from "@n1hal/strx";

capitalize("hello world"); // → "Hello world"
camelCase("hello world");  // → "helloWorld"
slugify("Hello World! Café"); // → "hello-world-cafe"
```

Or use the default export:

```js
import strx from "@n1hal/strx";

strx.titleCase("once upon a time"); // → "Once Upon A Time"
strx.truncate("A very long text that should be shortened", 20);
// → "A very long text..."
```
---
## ⚙️ TypeScript Support
### All functions are typed automatically:
```ts
import { titleCase } from "@n1hal/strx";

const title: string = titleCase("make it nice");
```
---
## 🧪 Example Playground
### You can quickly test all functions in Node REPL:
```bash
node
> import * as strx from "@n1hal/strx";
> strx.camelCase("Hello there friend");
'helloThereFriend'
```
---

## 📖 License

[MIT](./LICENSE) © 2025 [Nihal K](https://github.com/ioNihal)

---
## 🌟 Contribute

If you’d like to suggest new helpers or improve code coverage:

1. Fork the repo
2. Add your function to `index.js`
3. Export and update `index.d.ts`
4. Open a PR ✨

---

*Keep your strings sharp with **@n1hal/strx** ✂️*

```
npm package: @n1k1t/transliterate-cjs
Description: Fork of @sindresorhus/transliterate with CommonJS module resolution
Author: Sindre Sorhus
Latest version: 1.6.2

# Forked
### This package has CommonJS module resolution instead ESM in original
[Original repo](https://github.com/sindresorhus/transliterate)

# transliterate

> Convert Unicode characters to Latin characters using [transliteration](https://en.wikipedia.org/wiki/Transliteration)

Can be useful for [slugification](https://github.com/sindresorhus/slugify) purposes and other times you cannot use Unicode.

## Install

```
$ npm install @n1k1t/transliterate-cjs
```

## Usage

```ts
// For JS (Node/CommonJS)
const transliterate = require('@n1k1t/transliterate-cjs');

// For Typescript with CommonJS module resolution
import transliterate from '@n1k1t/transliterate-cjs';

transliterate('Fußgängerübergänge');
//=> 'Fussgaengeruebergaenge'

transliterate('Я люблю единорогов');
//=> 'Ya lyublyu edinorogov'

transliterate('أنا أحب حيدات');
//=> 'ana ahb hydat'

transliterate('tôi yêu những chú kỳ lân');
//=> 'toi yeu nhung chu ky lan'
```

## API

### transliterate(string, options?)

#### string

Type: `string`

String to transliterate.

#### options

Type: `object`

##### customReplacements

Type: `Array<string[]>`\
Default: `[]`

Add your own custom replacements.

The replacements are run on the original string before any other transformations.

This only overrides a default replacement if you set an item with the same key.

```js
transliterate('Я люблю единорогов', {
	customReplacements: [
		['единорогов', '🦄']
	]
})
//=> 'Ya lyublyu 🦄'
```

## Supported languages

Most major languages are supported.

This includes special handling for:

- Arabic
- Armenian
- Czech
- Danish
- Dhivehi
- Georgian
- German (umlauts)
- Greek
- Hungarian
- Latin
- Latvian
- Lithuanian
- Macedonian
- Pashto
- Persian
- Polish
- Romanian
- Russian
- Serbian
- Slovak
- Swedish
- Turkish
- Ukrainian
- Urdu
- Vietnamese

However, Chinese is [currently not supported](https://github.com/sindresorhus/transliterate/issues/1).

## Related

- [slugify](https://github.com/sindresorhus/slugify) - Slugify a string
npm package: @n1kben/dots
Description: Dotfiles manager
Author: Nik Ben
Latest version: 0.0.5

<p align="center">
  <img src="https://raw.githubusercontent.com/n1kben/dots/ba05fd1ea6998129d3750d2cf3589e1b4a8b6e56/assets/logo.png" height="100">
</p>

# Dots

A simple and interactive dotfiles manager for organizing and managing your configuration files across systems.

## Overview

Dots helps you manage your dotfiles by providing two main workflows:

- **Collect**: Gather dotfiles from your home directory into a centralized location
- **Link**: Deploy dotfiles from a source directory to your home directory using symlinks

## Installation

```bash
npm install -g @n1kben/dots
```

## Usage

### Collect dotfiles

<img src="https://github.com/n1kben/dots/blob/ba05fd1ea6998129d3750d2cf3589e1b4a8b6e56/assets/ss.png?raw=true" width="600" />

Collect dotfiles from your home directory into a specified destination:

```bash
dots collect ~/dotfiles
```

This command will:

- Scan your home directory for files and directories
- Present an interactive checkbox to select which dotfiles to collect
- Move selected files/directories to the destination
- Create symlinks back to their original locations
- Handle directories by either symlinking the entire directory or processing files individually

### Link dotfiles

Deploy dotfiles from a source directory to your home directory:

```bash
dots link ~/dotfiles
```

This command will:

- Read files and directories from the source location
- Create symlinks in your home directory pointing to the source files
- Prompt for confirmation before creating directory symlinks
- Skip existing files to prevent overwriting

## Ignoring Files

You can create a `.dotsignore` file in your home directory to specify files and directories that should be ignored during the collect process. The syntax follows standard gitignore patterns:

```bash
# Comments start with #
node_modules/
*.log
.DS_Store
temp/
```

Each line specifies a pattern to ignore. Use `#` for comments and standard glob patterns for matching files and directories.