open-index/open-npm huggingface dataset:
npm package: @lhi/ursamu-dev
Description: UrsaMU development skill installer for Claude Code, Gemini CLI, Cursor, Codex, Antigravity, and OpenCode.
Author: Lemuel Lee Canady, Jr.
Latest version: 1.3.2

![Coverage](https://img.shields.io/badge/coverage-96%25-brightgreen) [![Ursamu AI Dev](https://img.shields.io/badge/Ursamu_AI_Dev-passing-brightgreen)](https://github.com/UrsaMU/ursamu-dev-skill) <!-- tdd-audit-badge -->

# @lhi/ursamu-dev

A complete development toolkit for writing UrsaMU plugins and commands with an AI coding agent. Install the skill once and your agent knows the full UrsaMU development pipeline — correct import paths, plugin architecture, security patterns, and the mandatory six-stage **Design → Generate → Audit → Refine → Test → Docs** workflow.

## Tools

| Tool | What it does | Needs LLM? |
|------|-------------|-----------|
| `ursamu-dev` | Install the skill into your AI agent | No |
| `ursamu-audit` | Static analysis — catch violations before CI does | No |
| `ursamu-scaffold` | Generate correct plugin boilerplate — including help files and version wiring | No |
| `ursamu-docs` | Run any skill stage against your source to produce docs | Yes |

## Quick Start

```bash
# Install the skill (Claude Code by default)
npx @lhi/ursamu-dev

# Three commands every UrsaMU project should run after install:
ursamu-dev --install-hooks   # block commits that fail the audit
ursamu-audit --fix           # auto-repair the two most common violations
ursamu-audit --watch         # live violation diff on every file save
```

Then activate the skill in your agent:

```
/ursamu-dev
```

## Documentation

- [Installation & Setup](docs/install.md) — platforms, companion skills, pre-commit hook, activating the skill
- [ursamu-audit](docs/audit.md) — checks reference, auto-fix, watch mode, JSON output, CI integration
- [ursamu-scaffold](docs/scaffold.md) — options, name rules, generated files, adding commands
- [ursamu-docs](docs/docs-generator.md) — provider setup, options, output layout, CI integration
- [Six-Stage Pipeline](docs/pipeline.md) — how the agent works through Design → Docs
- [Architecture](docs/architecture.md) — directory structure, module map
- [Security Model](docs/security.md) — path traversal, SSRF, DoS limits, input validation
- [Contributing](docs/contributing.md) — adding checks, testing locally, test suite layout

## Requirements

- **Node.js 18+** (ESM required)
- Git (for `--install-hooks`)
- An LLM API key — Anthropic, Google, or OpenAI (for `ursamu-docs` only)

## License

MIT — Lemuel Lee Canady, Jr.
npm package: @lhiro/create-app
Description: create myself app
Author: lhiro
Latest version: 0.0.2

## Create MySelf App
#### All is typescript
---

A tool for creating you application. Currently supported template presets include:
- ```ssr-react-midway```
- ```koa```
- ```midway```
- ```umi```
- ```taro```
- ```flutter```
- ```electron```

### Usage
---

#### npm
> Compatibility Note: Node.js version >= 12.0.0.
```
  npm init @lhiro/app
```

#### yarn
```
  yarn create @lhiro/app
```
After creating a template, run:
```
  npm install or yarn install
  npm run dev or yarn dev
```
npm package: @lhj1982/weixin-redpack
Description: send redpack by enterprise
Latest version: 1.0.1

# weixin-redpack
微信发企业红包 for node.js

### Installation
```
npm install @lhj1982/weixin-redpack
```

### Usage

先创建一个红包实例 Redpack，再调用 send() 发送红包，减少每次发红包的参数。
```js
var Redpack = require('@lhj1982/weixin-redpack').Redpack;

var redpack = Redpack({
	mch_id: 'xxx',
	partner_key: 'xxxxxx',
	pfx: fs.readFileSync('./wxpay_cert.p12'),
	wxappid: 'wxxxxxxx',
  ca: fs.readFileSync('./ca.pem'),
});

redpack.send({
	mch_billno: '123426900220150325'+Math.random().toString().substr(2,10),
	send_name: '红包来自',
	wishing: '收好不谢！',
	re_openid: '红包接收人openid',
	total_amount: 100,
	total_num: 1,
	client_ip: '14.23.102.146',
	nick_name: 'XXXX',
	act_name: '发测试红包',
	remark: 'remark'
}, function(err, result){
	console.log(result);
})
```

直接调用 sendRedpack() 输入所有参数。
```js
var wxredpack = require('@lhj1982/weixin-redpack');

wxredpack.sendRedpack({
  mch_id: 'xxx',
  partner_key: 'xxxxxxx',
  pfx: fs.readFileSync('./application_cert.p12'),
  wxappid: 'wxxxxxx',
  mch_billno: '1234567890201503251234567890',
  nick_name: 'nickname',
  send_name: 'sendname',
  re_openid: '红包接收人openid'
  total_amount: 100,
  max_value: 100,
  min_value: 100,
  total_num: 1,
  wishing: 'thanks',
  client_ip: '192.168.1.10',
  act_name: '发红包啦',
  remark: '收好不谢！'
}, function(err, result){
  console.log(result);
});
```

getRedPackInfo get redpack info
```js
var wxredpack = require('@lhj1982/weixin-redpack');

wxredpack.sendRedpack({
  mch_id: 'xxx',
  partner_key: 'xxxxxxx',
  pfx: fs.readFileSync('./application_cert.p12'),
  wxappid: 'wxxxxxx',
  mch_billno: 'xxxxxxx',
  bill_type: 'MCHT',
}, function(err, result){
  console.log(result);
});
```
npm package: @lhjeong60/react-markdown-preview
Description: modified version of @uiw/react-markdown-preview to use in server side.
Author: HoJeong Lee
Latest version: 4.1.91

This package is a modified version of a `@uiw/react-markdown-preview`.

To use a `@uiw/react-markdown-preview` on the server side, I have modified `require()` to `(async () => await import())()` in some files.

``` js
// lib/index.js
// old
var _reactMarkdown = _interopRequireDefault(require("react-markdown"));

// new
var _reactMarkdown = _interopRequireDefault(( async () => await import("react-markdown"))());
```

I know this is a bad way, but I will use it until I find the right way.