open-index/open-npm huggingface dataset:
npm package: @ice1/bact
Description: <img src="https://ifh.cc/g/oaZACO.jpg" width="200px">
Author: ICe1
Latest version: 1.0.0-b

<img src="https://ifh.cc/g/oaZACO.jpg" width="200px">

# Bact.js

[Modern Act](https://github.com/ICe1BotMaker/modern-act) didn't go as well as I thought, and I was very disappointed, so I made a new one.

### An improvement

- The existing **Modern Act** used the express module, but **Bact.js** implemented the server directly using the http module.

- Overall, the serious security concerns of the **Modern Act** have been improved.

### Installation
 
_~~(Package **act.js** already exists and has been replaced with **bact.js**)~~_

```
$ npm install bact
```
npm package: @ice1/pkg-in
Description: ``` $ npm install @ice1/pkg-in ```
Latest version: 1.0.0

# pkg-in

```
$ npm install @ice1/pkg-in
```

### Examples

```js
import pkg_in from '@ice1/pkg-in';

((async () => {
    const pkg = new pkg_in();
    await pkg.set();

    await pkg.install.react();
    await pkg.uninstall.react();
})());
```
npm package: @ice9/sdk
Description: Node.js SDK for the ice9 image analysis API
Latest version: 0.0.1

# @ice9/sdk

Node.js SDK for the [ice9](https://ice9.ai) image analysis API.

## Installation

```bash
npm install @ice9/sdk
```

## Quickstart

```ts
import { Ice9 } from "@ice9/sdk";

const client = new Ice9({ apiKey: process.env.ICE9_API_KEY });

const image = await client.analyze("photo.jpg");

if (image.isNsfw) {
  console.log(image.moderation.reason);
} else if (image.scene) {
  console.log(image.category);
  console.log(image.scene.people);
  console.log(image.scene.gender);
}
```

## Notes

- `analyze()` accepts local file paths, URLs, and in-memory image bytes.
- `image.category` exposes the canonical content-analysis category when available.
- `image.scene` adds product-shaped helpers on top of raw service payloads.
- `image.moderation.censor()` supports fill and pixelate redaction methods.

## Repository

This package is developed in the `nodejs/` subdirectory of the main SDK repo:

- https://github.com/ice9innovations/ice9-sdk
npm package: @icealtria/ecies
Description: ECIES encryption implementation for Node.js
Author: icealtria
Latest version: 0.3.0

# ECIES

A lightweight TypeScript implementation of Elliptic Curve Integrated Encryption Scheme (ECIES) using Node.js's built-in `crypto` module.

## Features

- Pure TypeScript implementation
- Uses Node.js built-in `crypto` module
- Zero external dependencies
- Two implementations available:
  - Standard ECIES: Full implementation with all security features
  - Simplified ECIES: Minimalist implementation for smaller ciphertext size

## Installation

```bash
pnpm install ecies
```

## Usage

```typescript
import { ECIES } from '@icealtria/ecies';

const ecies = new ECIES();

// Generate key pair
const keyPair = ecies.generateKeyPair();
const privateKey = keyPair.getPrivateKey();
const publicKey = keyPair.getPublicKey();

// Encrypt message
const message = Buffer.from("Hello world! 🌏");
const encryptedData = ecies.encrypt(publicKey, message);

console.log(encryptedData.toString('base64'))
// BIexVy5zciKoxoo5w/8Caa/PJPuzWBiU9WrtY9f5x0PwyjXigfmklwqGwqUH7k7P5KlBOs5hCoMHc/vMOZtyyDG8yPx2djfPpgQ+5kpUdmtNCl+y82mCNoGAFpP7vrTcv14I8bqhbahXGGKNFPto0QnEqGOtMxm69JNm+N1BDkwMrhTFy9txXnL9fHyMYQ==

// Decrypt message
const decryptedMessage = ecies.decrypt(privateKey, encryptedData);
console.log(decryptedMessage.toString());
// Hello World! 🌍
```

## Implementation Details

### Standard ECIES
Standard implementation with complete security features.

### Simplified ECIES
`simpECIES` is a minimalist implementation optimized for smaller ciphertext size. Note: this trades some security features for size reduction.

## API Reference

### ECIES Class

- `generateKeyPair()`: Generates a new key pair
- `encrypt(publicKey, message)`: Encrypts a message using recipient's public key
- `decrypt(privateKey, encryptedData)`: Decrypts message using recipient's private key

### simpECIES Class

- `generateKeyPair()`: Generates a new key pair
- `encrypt(publicKey, message)`: Encrypts a message using recipient's public key
- `decrypt(privateKey, encryptedData)`: Decrypts message using recipient's private key

## License

MIT
npm package: @iceberg-dev/ice-ui
Description: A versatile and modern React UI library crafted by @iceberg-dev. Enhance your web applications with sleek and customizable components designed for seamless integration and stunning user experiences.
Author: iceberg-dev
Latest version: 1.2.46

# Ice-UI
Your go-to React UI library with all the essential tools.

## How to Install    
_Run the following command in your project's root directory_
```bash
npm i @iceberg-dev/ice-ui
```
 
## Docs
_Usage_
```javascript
import ReactDOM from 'react-dom/client';
import { BaseButton, palette, shadows, typography } from "@iceberg-dev/ice-ui";
import { createTheme, ThemeProvider } from "@mui/material";

// Create a theme using ice-ui styles
const theme = createTheme({
  palette,
  typography,
  shadows
});   

// Wrap your app with ThemeProvider and use ice-ui components
ReactDOM.createRoot(document.getElementById('root')!).render(
  <ThemeProvider theme={theme}>
    <BaseButton>hello</BaseButton>
  </ThemeProvider>
);
```



#### For detailed documentation on `BaseButton` and other components, visit the [IceUI Storybook](https://iceberg-dev.github.io/ice-ui).

#### For development guidelines, refer to the [IceUI Documentation](https://believed-burn-945.notion.site/IceUI-Docs-0616e8c1a1d4402c80b1d685bc8c1d21?pvs=4).
npm package: @iceberg-dev/nest-sqs-consumer
Description: A utility package
Author: iceberg-dev
Latest version: 1.0.12

# nest-sqs-consumer

main.ts
```ts
async function bootstrap() {
  const { sqs } = config();
  const app = await NestFactory.createMicroservice<MicroserviceOptions>(
    AppModule,
    {
      strategy: new SQSServer({
        queueName: sqs.queueName,
        sqsClient: new SQSClient(sqs),
      }),
    },
  );
  await app.listen();
}

bootstrap();
```

### cfg
Something like:
```ts
export const config = (): IConfig => ({
  port: parseInt(process.env.PORT, 10) || 8080,
  secret: process.env.SECRET_KEY,
  sqs: {
    queueName: process.env.QUEUE_NAME,
    region: process.env.EKS_REGION,
    credentials: {
      accessKeyId: process.env.SQS_ACCOUNT_ACCESS_KEY_ID,
      secretAccessKey: process.env.SQS_ACCOUNT_SECRET_ACCESS_KEY,
    },
  },
});
```
npm package: @iceberg-dev/sqs-consumer
Description: A utility package
Author: iceberg-dev
Latest version: 1.0.74

# Ice SQS Consumer
###### all tools you need

## How to Install
_in your package.json_
```json
    "dependencies": {
        "@iceberg-dev/sqs-consumer": "^1.0.0",
    }
```
_or_
```bash
npm i @iceberg-dev/sqs-consumer
```
## Docs
_include in your file_
```typescript
    import tools from '@iceberg-dev/sqs-consumer';
```


### Existing tools
* 

#### check documentation for more...
npm package: @iceberg-dev/tools-pack
Description: A utility package for cryptographic operations
Author: iceberg group
Latest version: 1.0.52

# Ice Tools Pack 
###### all tools you need

## How to Install
_in your package.json_
```json
    "dependencies": {
        "@iceberg-dev/tools-pack": "^1.0.0"
    }
```
## Docs
_include in your file_
```javascript
    import tools from '@iceberg-dev/tools-pack/tools';
```
_or_
```bash
npm i @iceberg-dev/tools-pack
```


_usage example_
```javascript
    tools.sys.checkRequired({key:"some key", date: "2022-01-01"}, ['key', 'date'])
```


### Existing tools
* crypt
* sys
* error handler

#### check documentation for more...
npm package: @icebob/cpu
Description: Promise-based CPU Usage meter.
Author: icebob
Latest version: 1.0.0

cpu
===
Promise-based CPU Usage meter. No dependencies!

### Install

```bash
npm install @icebob/cpu
```

### Usage

```javascript
var cpu = require('@icebob/cpu');

cpu().then(({avg, usages}) => {
  console.log(avg, usages);
});
``` 

**Change sample time:**
```javascript
var cpu = require('@icebob/cpu');

cpu(500).then(({avg, usages}) => {
  console.log(avg, usages);
});
```
npm package: @icebob/ts-to-js
Description: Convert Typescript file to (readable) Javascript file
Author: Icebob
Latest version: 1.0.0

# ts-to-js
It's a CLI too which is able to convert Typescript files to (readable) Javascript files. It uses [ts-blank-space](https://github.com/bloomberg/ts-blank-space) to remove the types from typescript files and convert them to blank spaces. After that, it uses [Prettier](https://prettier.io/) to format the code to a more readable Javascript code.

# Installation
```bash
npm install -g @icebob/ts-to-js
```

# Usage

**Print the result to the console**
```bash
$ ts-to-js file.ts
```

**Write the result to a file and use prettier**
```bash
$ ts-to-js --prettier file.ts file.js
```

**Convert all .ts files in a directory**
```bash
$ ts-to-js --prettier src dist
```

# Options

- `--prettier, -p`: Format the output with Prettier

## License
ts-to-js is available under the [MIT license](https://tldrlegal.com/license/mit-license).

## Contact

Copyright (C) 2025 Icebob

[![@icebob](https://img.shields.io/badge/github-icebob-green.svg)](https://github.com/icebob) [![@icebob](https://img.shields.io/badge/twitter-Icebobcsi-blue.svg)](https://twitter.com/Icebobcsi)
npm package: @iceboss3d/next-auth-starter
Description: Bootstrap a Next.js app with Prisma, shadcn, and authentication
Author: Ayebakuro Ombu
Latest version: 1.0.0

# next-auth-starter README

# `next-auth-starter`

A CLI tool to quickly bootstrap a **Next.js app** with **Prisma**, **NextAuth**, **shadcn/ui**, **Tailwind CSS**, and **authentication pages** (register/login). Includes form validation with **react-hook-form** and **Zod**.

---

## Features

- Prebuilt **Register** and **Login** pages
- Prisma integration with database migrations
- NextAuth authentication setup
- Bcrypt password hashing
- Validation with react-hook-form + Zod
- UI components from shadcn/ui
- Tailwind CSS styling
- TypeScript ready

---

## Installation

You can use `npx` (no global install required):

```bash
npx create-next-auth-app myapp -d "DATABASE_URL"
```

Or install globally:

```bash
npm install -g next-auth-starter
create-next-auth-app myapp -d "DATABASE_URL"
```

Replace `DATABASE_URL` with your Prisma database URL, e.g.:

```bash
postgres://user:password@localhost:5432/mydb
```

---

## Getting Started

After creating your app:

1. Go into your new app folder:

```bash
cd myapp
```

2. Install dependencies (if not already):

```bash
npm install
# or
yarn
# or
pnpm install
```

3. Run Prisma migrations:

```bash
npx prisma migrate dev --name init
```

4. Start the development server:

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
```

Open [http://localhost:3000](http://localhost:3000) in your browser.

---

## Authentication Pages

- **Register**: `/auth/register`
- **Login**: `/auth/login`

These pages include prebuilt forms with validation. Check the code in:

- `src/app/auth/register/page.tsx`
- `src/app/auth/login/page.tsx`
- `src/app/api/auth` for API routes

---

## Project Structure

```
myapp/
├─ src/
│  ├─ app/
│  │  ├─ auth/
│  │  │  ├─ login/
│  │  │  │  └─ page.tsx
│  │  │  └─ register/
│  │  │     └─ page.tsx
│  │  └─ page.tsx
│  └─ lib/
│     └─ prisma.ts
├─ prisma/
│  └─ schema.prisma
├─ .env
├─ package.json
└─ README.md
```

---

## Learn More

- [Next.js Documentation](https://nextjs.org/docs)
- [Prisma Docs](https://www.prisma.io/docs)
- [shadcn/ui](https://ui.shadcn.com)
- [NextAuth.js](https://next-auth.js.org)

---

## Deploy on Vercel

Deploy your Next.js app quickly with [Vercel](https://vercel.com/new).
npm package: @icebreakers/changelog-github
Description: Changesets GitHub changelog formatter for Icebreaker's dev-configs
Author: ice breaker
Latest version: 1.0.1

# @icebreakers/changelog-github

## 概述

`@icebreakers/changelog-github` 是 `@changesets/changelog-github` 的无缝替代版本。它保留原有的元组写法，却额外提供了我们在 Icebreaker 团队常用的格式优化：支持摘要里的自定义指令、更友好的提交链接，并且自动加载 dotenv，确保本地与 CI 的输出一致。

## 环境要求

- Node.js 18+
- 通过 `GITHUB_TOKEN`、`GH_TOKEN` 或 `.env` 暴露 GitHub Token

## 安装

```bash
pnpm add -D @changesets/cli @icebreakers/changelog-github
```

## 快速开始

在 `.changeset/config.json` 中切换 changelog 生成器，并声明仓库地址：

```json
{
  "changelog": [
    "@icebreakers/changelog-github",
    { "repo": "org/repo" }
  ]
}
```

之后执行 `pnpm changeset` 即可，生成的 changelog 会使用增强版格式器。

## 与 `@changesets/changelog-github` 的差异

- **摘要指令**：额外识别位于摘要首部的 `pr:`、`commit:`、`author:` / `user:`（不区分大小写），用于覆盖 GitHub 拉取的元数据，同时保留正文内容。
- **短哈希链接**：当提供 `commit:` 指令时，会以短 SHA 生成链接（若同时提供 `pr:`，会与 PR 链接并列展示），阅读体验更好。
- **优化的格式**：采用简洁的多行布局，仅保留核心元数据，移除冗余的分隔符和标签，提升 GitHub 上的可读性。
- **自动加载 dotenv**：在访问 GitHub API 前调用 `dotenv`，本地 CLI 与 CI 行为保持一致，无需额外手动引入。
- **依赖更新板块**：列出依赖升级时，会根据变更集补全提交链接，并统一 Markdown 缩进，便于对齐阅读。

其它行为（元组参数、必须提供 `repo` 选项、基础排版）与上游保持兼容，因此迁移仅需替换包名。

## 编写变更摘要的技巧

可以借助摘要指令精准控制展示的元数据：

```text
pr: #42
commit: 1234567890abcdef1234567890abcdef12345678
author: @octocat

为 lint preset 新增可选的 `tailwind-config` 配置项

- 接受相对路径指向 `tailwind.config.ts`
- 未设置时默认读取工作区根目录
```

最终 changelog 会渲染为：

```md
- ✨ **为 lint preset 新增可选的 `tailwind-config` 配置项** [#42] [`1234567`](https://github.com/org/repo/commit/1234567890abcdef1234567890abcdef12345678) by @octocat
  - 接受相对路径指向 `tailwind.config.ts`
  - 未设置时默认读取工作区根目录
```

## GitHub 鉴权

设置具备读取公开仓库权限的 `GITHUB_TOKEN`（或 `GH_TOKEN`）。本地开发时可放在 `.env` 中；由于格式器会自动执行 `dotenv/config`，无需额外配置。

## 常见问题

- **缺少 repo 报错**：确认元组里包含 `org/repo` 字符串，缺失时格式器会立即抛错。
- **元数据为空**：检查 GitHub Token 是否生效，以及提交 / PR 是否存在于对应仓库。
- **摘要指令未生效**：指令需要放在摘要最顶部，并且每行单独书写；正文内容必须位于指令之后。
npm package: @icebreakers/commitlint-config
Description: Commitlint preset from Icebreaker's dev-configs
Author: ice breaker
Latest version: 2.0.0

# @icebreakers/commitlint-config

## 概览

`@icebreakers/commitlint-config` 在保留 `@commitlint/config-conventional` 的基础上提供了类型完备的工厂 API，可以按团队需求扩展类型、Scope、Subject 等规则，并自动同步 Commit Prompt 的选项。它非常适合在 Monorepo 中统一 Conventional Commits。

## 安装

```bash
pnpm add -D @commitlint/cli @icebreakers/commitlint-config
```

## 快速开始

在仓库根目录创建 `commitlint.config.ts`：

```ts
import { icebreaker } from '@icebreakers/commitlint-config'

export default icebreaker()
```

在脚本或 Husky 钩子中调用：

```bash
pnpm commitlint --from=HEAD~1
```

如果需要显式函数名，也可以使用 `createIcebreakerCommitlintConfig(options)`，返回值与 `icebreaker` 完全一致。

## 自定义规则

工厂函数按类别接收配置，方便针对性地覆盖默认约束：

```ts
import {
  icebreaker,
  RuleConfigSeverity,
} from '@icebreakers/commitlint-config'

export default icebreaker({
  types: {
    definitions: [
      { value: 'docs', title: 'Docs', description: '文档更新', emoji: '📝' },
      { value: 'deps', title: 'Dependencies', description: '依赖升级' },
    ],
    add: ['perf'],
  },
  scopes: {
    values: ['core', 'lint', 'website'],
    required: true,
    case: ['kebab-case', 'lower-case'],
  },
  subject: {
    forbidden: ['sentence-case', 'start-case'],
    caseSeverity: RuleConfigSeverity.Warning,
    fullStop: false,
  },
  header: {
    maxLength: 100,
  },
  extends: ['@acme/commitlint-config'],
})
```

- `types`：新增类型、补充 Prompt 元数据或强化 `type-enum` 规则。
- `scopes`：限定 Scope 值、设置大小写规则或强制 Scope 必填。
- `subject`：限制 Subject 大小写、控制末尾标点、允许空 Subject。
- `header`：修改头部长度或告警级别。
- `extends` / `rules`：叠加额外的 commitlint 配置或自定义规则。
- `prompt`：在保留原有交互式提示的前提下合并自定义菜单。

所有严重级别均使用 `@commitlint/types` 暴露的 `RuleConfigSeverity`。

## Prompt 同步

工厂函数会将自定义类型合并进 commit Prompt。若传入 `prompt` 字段，会与默认配置深度合并，确保交互式命令自动展示新增的类型、Scope 或描述信息。

## 推荐流程

1. 安装 Husky 并配置 `commit-msg` 钩子：
   ```bash
   pnpm husky add .husky/commit-msg "pnpm commitlint --edit \"$1\""
   ```
2. 通过 `pnpm commit`（Changeset）或自定义的 CLI 引导书写 Commit。
3. 在 CI 中运行 `pnpm lint`、`pnpm test`，并在发布脚本中保留 commitlint 校验。

## 常见问题

- commitlint 找不到配置时，请确认文件名为 `commitlint.config.ts`（或 `.cjs`），且位于仓库根目录。
- 如需扩展交互式提示，直接传入 `prompt` 即可，无需手动拼装 Schema。
- 若需在某些脚本中临时关闭校验，可在环境变量中设置 `COMMITLINT_DISABLED=true` 并跳过钩子。
npm package: @icebreakers/deploy
Description: icebreaker's deploy frontend to cdn pkg
Author: SonOfMagic
Latest version: 0.1.6

# @icebreakers/deploy

deploy website to cdn

## Install

```sh
yarn add -D @icebreakers/deploy
```

## Usages

### Cli

```env
# .env
TENCENT_SECRET_ID=
TENCENT_SECRET_KEY=
TENCENT_COS_REGION=
TENCENT_COS_BUCKET=
```

```sh
# default deploy
ice-deploy
# deploy before clean bucket
ice-deploy -c
# deploy dir
ice-deploy --dir build
```

### script

```js
require('dotenv').config()
const { TencentCOSWebsiteDeployer } = require('@icebreakers/deploy')

async function main() {
  const { TENCENT_SECRET_ID, TENCENT_SECRET_KEY, TENCENT_COS_REGION, TENCENT_COS_BUCKET } = process.env
  const deployer = new TencentCOSWebsiteDeployer({
    SecretKey: TENCENT_SECRET_KEY,
    SecretId: TENCENT_SECRET_ID
  })

  await deployer.uploadDir({
    Bucket: TENCENT_COS_BUCKET,
    Region: TENCENT_COS_REGION,
    clean: true,
    targetDir: 'build'
  })
}

main()
```
npm package: @icebreakers/dns
Description: get ip from global dns
Author: ice breaker
Latest version: 1.0.0

# @icebreakers/dns

## 安装

```bash
pnpm add @icebreakers/dns
```

## API 文档

### `dnsRecordsCloudflare(name: string, type: string = 'A')`

通过Cloudflare的DNS-over-HTTPS服务获取DNS记录。

- `name`: 域名，例如 `example.com`
- `type`: DNS记录类型，默认为 `'A'`

返回一个Promise，解析为一个DNS记录数组。

### `prepareDnsRecord(record: DnsRecord)`

准备DNS记录，将记录中的类型数字转换为对应的类型名称。

- `record`: DNS记录对象

返回一个经过准备的DNS记录对象。

## 使用示例

```typescript
import { dnsRecordsCloudflare } from '@icebreakers/dns'

async function getDnsRecords() {
  const records = await dnsRecordsCloudflare('icebreaker.top', 'A')
  console.log(records)
}
```
npm package: @icebreakers/monorepo
Description: The icebreaker's monorepo manager
Author: ice breaker
Latest version: 3.2.18

# @icebreakers/monorepo

[icebreaker](https://github.com/sonofmagic) 的 `monorepo` 升级同步工具

## 使用方式

```sh
# 安装
pnpm add -D @icebreakers/monorepo@latest
# 升级
npx monorepo up
# 帮助文档
npx monorepo -h
# 生成 Agentic 任务模板
npx monorepo ai create -o agentic-task.md -f
# 或使用别名
npx monorepo ai new --name checkout
# 同步技能到全局目录
npx monorepo skills sync
# 仅同步指定目标
npx monorepo skills sync --codex
npx monorepo skills sync --claude
```

`monorepo ai create`（别名 `ai new`）默认会把模板写入 `agentic/prompts/<timestamp>/prompt.md`，每次都会建一个以时间命名的目录，并在命令行提示可修改该目录名称，方便追加截图等素材；也可以通过参数自定义路径。

`@icebreakers/monorepo` 在运行时会从 `@icebreakers/monorepo-templates` 读取模板、骨架与升级资产。

`monorepo skills sync` 会将包内 `resources/skills/icebreakers-monorepo-cli` 同步到 `~/.codex/skills/icebreakers-monorepo-cli` 或 `~/.claude/skills/icebreakers-monorepo-cli`；未指定目标时会交互选择。

`monorepo ai create` 支持批量生成：

```bash
# 基于名称自动落盘到 agentic/prompts/checkout.md（默认目录可在 monorepo.config.ts 中设置）
npx monorepo ai create --name checkout

# 使用任务清单一次生成多个文件（tasks.json 为字符串或对象数组）
npx monorepo ai create --tasks agentic/tasks.json --format md -f
```

`agentic/tasks.json` 示例：

```json
[
  "checkout",
  { "name": "payments", "format": "json", "force": true }
]
```

### 配置文件

在工作区根目录下创建 `monorepo.config.ts`（内容可为普通 ESM），即可覆盖每个命令的默认行为。例如：

```ts
// monorepo.config.ts
import { defineMonorepoConfig } from '@icebreakers/monorepo'

export default defineMonorepoConfig({
  commands: {
    ai: {
      baseDir: 'agentic/custom-prompts',
      format: 'json',
      force: true,
      tasksFile: 'agentic/tasks.json',
    },
    create: {
      defaultTemplate: 'cli',
      renameJson: true,
    },
    clean: {
      autoConfirm: true,
      ignorePackages: ['docs'],
    },
    upgrade: {
      skipOverwrite: true,
      targets: ['.github', 'monorepo.config.ts'],
    },
  },
})
```

目前支持 `ai`、`create`、`clean`、`sync`、`upgrade`、`init` 与 `mirror` 七类命令的默认参数覆写。

## 文档地址

https://monorepo.icebreaker.top/

## 需求环境

Nodejs >= `v20.11.0`
npm package: @icebreakers/monorepo-templates
Description: Template assets for icebreaker monorepo scaffolding
Author: ice breaker
Latest version: 0.1.16

# @icebreakers/monorepo-templates

Template assets and metadata used by `create-icebreaker` and `@icebreakers/monorepo`.

This package ships:

- `templates/`: app and package templates
- `assets/`: root workspace config files and upgrade assets for `monorepo`
npm package: @icebreakers/profile
Description: icebreaker's profile
Author: ice breaker
Latest version: 4.0.0

# Resume of profile

This is my chinese/english resume

You can run this command:

```bash
npx @icebreakers/profile@latest
# or
npx @icebreakers/profile@latest --ignore-existing
```

This will show you my resume in your terminal

Direct output commands:

```bash
# Print a concise summary and exit
npx @icebreakers/profile@latest summary --lang en

# Print all public links and exit
npx @icebreakers/profile@latest links
npx @icebreakers/profile@latest contact

# Print one target link and exit
npx @icebreakers/profile@latest url github
npx @icebreakers/profile@latest url gh
```

Supported url targets:

```text
github, website, repositories, juejin, blog, x
aliases: gh, repo, repos, repository, site, web
```

[See More](https://github.com/sonofmagic)
npm package: @icebreakers/tsconfig
Description: icebreaker's tsconfig
Latest version: 0.0.7

# @icebreakers/tsconfig

my tsconfig

## tsconfig.cjs.json

```json
{
  "extends": "@tsconfig/recommended/tsconfig.json",
  "compilerOptions": {
    "noEmitOnError": false,
    "declaration": true,
    "sourceMap": false,
    "allowSyntheticDefaultImports": true,
    "baseUrl": ".",
    "removeComments": true,
    "lib": [
      "ES2021"
    ],
    "paths": {
      "@/*": [
        "src/*"
      ]
    }
  }
}
```

## tsconfig.com.json

```json
{
  // test comment
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "moduleResolution": "node",
    "declaration": true,
    "declarationDir": "types",
    "strict": true,
    "jsx": "preserve",
    "allowJs": true,
    "sourceMap": true,
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "baseUrl": ".",
    "paths": {
      "@/*": ["./*"],
      "@components/*": ["./src/components/*"]
    },
    "lib": ["esnext", "dom"]
  },
  "include": ["src/**/*", "components/**/*"]
}

```
npm package: @icebreakers/wxml
Description: wxml parser and serializer. fork form wxml and improve. thanks to vivaxy and roadupcc
Author: SonOfMagic
Latest version: 1.0.2

# WXML

wxml parser and serializer.

[![Build Status][travis-image]][travis-url]
[![NPM Version][npm-version-image]][npm-url]
[![NPM Downloads][npm-downloads-image]][npm-url]
[![MIT License][license-image]][license-url]
[![Standard Version][standard-version-image]][standard-version-url]
[![Codecov][codecov-image]][codecov-url]

# Install

`yarn add wxml` or `npm i wxml --save`

# Usage

```js
import * as wxml from 'wxml';
const parsed = wxml.parse('<view></view>');
wxml.traverse(parsed, function visitor(node, parent) {
  const type = node.type;
  const parentNode = node.parentNode;

  if (type === wxml.NODE_TYPES.ELEMENT) {
    // handle element node
    const tagName = node.tagName;
    const attributes = node.attributes; // an object represents the attributes
    const childNodes = node.childNodes;
    const selfClosing = node.selfClosing; // if a node is self closing, like `<tag />`
  } else if (type === wxml.NODE_TYPES.TEXT) {
    // handle text node
    const textContent = node.textContent;
  } else if (type === wxml.NODE_TYPES.COMMENT) {
    // handle comment node
    const comment = node.comment;
  }
});
const serialized = wxml.serialize(parsed);
```

# API

## `parse`

`(input: string) => AST`

## `traverse`

`(node: Node, visitor: (node: Node, parent: Node) => void) => void`

## `serialize`

`(node: Node) => string`

[travis-image]: https://img.shields.io/travis/vivaxy/WXML.svg?style=flat-square
[travis-url]: https://travis-ci.org/vivaxy/WXML
[npm-version-image]: https://img.shields.io/npm/v/@vivaxy/wxml.svg?style=flat-square
[npm-url]: https://www.npmjs.com/package/@vivaxy/wxml
[npm-downloads-image]: https://img.shields.io/npm/dt/@vivaxy/wxml.svg?style=flat-square
[license-image]: https://img.shields.io/npm/l/@vivaxy/wxml.svg?style=flat-square
[license-url]: LICENSE
[standard-version-image]: https://img.shields.io/badge/release-standard%20version-brightgreen.svg?style=flat-square
[standard-version-url]: https://github.com/conventional-changelog/standard-version
[codecov-image]: https://img.shields.io/codecov/c/github/vivaxy/WXML.svg?style=flat-square
[codecov-url]: https://codecov.io/gh/vivaxy/WXML
npm package: @icebrick/nhget
Description: A simple library to fetch data from nhentai.net.
Author: noticebrick
Latest version: 2.0.1

# nhget

A simple library to fetch data from nhentai.net.

## Installation

```bash
# Install the package
npm install @icebrick/nhget
```

## Usage

```javascript
// CommonJS
const { nhget } = require('@icebrick/nhget');

// ES Module
import nhget from '@icebrick/nhget';

(async () => {
  const nh = new nhget({
    endpoint: 'https://nhentai.net/api/v2/galleries/',
    imageEndpoint: 'https://i.nhentai.net/galleries/',
    thumbnailEndpoint: 'https://t.nhentai.net/galleries/',
    cachePath: './cache'
  });
  
  const data = await nh.get(518372);
  console.log(data);
})();
```

## API

### Class: `nhget`

#### Constructor: `nhget(args?: { endpoint?: string, imageEndpoint?: string, thumbnailEndpoint?: string, cachePath?: string })`

- **args**: `object` (optional)
  - **endpoint**: `string` (optional)
    - **Default**: `'https://nhentai.net/api/v2/galleries/'`
    - The endpoint of the nhentai.net API.
  - **imageEndpoint**: `string` (optional)
    - **Default**: `'https://i.nhentai.net/galleries/'`
    - The endpoint for image URLs.
  - **thumbnailEndpoint**: `string` (optional)
    - **Default**: `'https://t.nhentai.net/galleries/'`
    - The endpoint for thumbnail image URLs.
  - **cachePath**: `string` (optional)
    - The path to the cache directory. Cache supports both v1 and v2 API formats.

#### Method: `get(id: number): Promise<GalleryDatav2>`

- **id**: `number`
  - The ID of the doujinshi.
  - Returns a `Promise` that resolves to a `GalleryDatav2` object.
  - The library supports both v1 and v2 API responses, but always returns v2 format.

#### Method: `getPages(id: number): Promise<Array<string>>`

- **id**: `number`
  - The ID of the doujinshi.
  - Returns a `Promise` that resolves to an array of image URLs.

#### Method: `getPagesThumbnail(id: number): Promise<Array<string>>`

- **id**: `number`
  - The ID of the doujinshi.
  - Returns a `Promise` that resolves to an array of thumbnail image URLs.

#### Method: `getCover(id: number): Promise<string>`

- **id**: `number`
  - The ID of the doujinshi.
  - Returns a `Promise` that resolves to the cover image URL.

#### Method: `getCoverThumbnail(id: number): Promise<string>`

- **id**: `number`
  - The ID of the doujinshi.
  - Returns a `Promise` that resolves to the thumbnail cover image URL.

# License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.