open-index/open-npm huggingface dataset:
npm package: @rocktimsaikia/aicommits
Description: Generate commits with AI in terminal
Author: Rocktim Saikia
Latest version: 1.2.0

# AICommits

[![NPM Version](https://img.shields.io/npm/v/@rocktimsaikia/aicommits?color=brightgreen)](https://www.npmjs.com/package/@rocktimsaikia/aicommits)

> AI-powered git commit message generator in your terminal.

## Features
Originally a fork of [@Nutlope/aicommits](https://github.com/Nutlope/aicommits), this project underwent major refactoring to reduce bloat and focus solely on CLI functionality. Below are the unique features added, not present in the original project.

- 📋 Automatically copies the selected commit message to clipboard
- 🔖 Smart branch name prefixing. Extracts Jira/Linear IDs. (Optional)
- 📝 Smart commit message capitalization (Optional)

## Installation

```bash
npm install -g @rocktimsaikia/aicommits
```

## Usage

> [!IMPORTANT]
> You'll need an OpenAI API key to use AICommits. You can get one from [OpenAI's website](https://platform.openai.com/account/api-keys).

Set up your API key:

```bash
# 1. Set the OpenAI API key (One-time):
aicommits config set OPENAI_KEY=your-api-key

# 2. Stage your changes with git:
git add .

# 3. Generate a commit message:
aicommits
# or use the shorthand (Recommended for quick usage)
aic
```

## Command Options

```bash
Options:
  -g, --generate <number>  Number of messages to generate (1-5)
  -x, --exclude <files>    Files to exclude from AI analysis
  -a, --all                Automatically stage changes in tracked files
  -t, --type <type>        Type of commit message to generate (conventional or empty)
  -b, --branch-prefix      Use current branch name as commit message prefix (auto-detects Jira/Linear IDs)
  -c, --capitalize-message Capitalize the first letter of the commit message
  --no-verify              Skip pre-commit hooks
  --help                   Show this help message
  --version                Show version number
```

## Configuration

Customize AICommits with these configuration commands:

```bash
# Set the OpenAI API key
aicommits config set OPENAI_KEY=your-api-key

# Set the OpenAI model to use (default: gpt-3.5-turbo)
aicommits config set model=gpt-3.5-turbo

# Set the maximum length of commit messages
aicommits config set max-length=50

# Set the number of messages to generate (default: 1)
aicommits config set generate=3

# Set the type of commit message (conventional or empty for standard)
aicommits config set type=conventional

# Use branch name as commit message prefix (default: false)
# Automatically extracts Jira/Linear IDs from branch name and uses them as prefix.
aicommits config set use-branch-prefix=true

# Capitalize the first letter of the commit message (default: false)
aicommits config set capitalize-message=true

# Set the timeout for API requests in milliseconds (default: 10000)
aicommits config set timeout=10000

# Set the language for commit messages (default: en)
aicommits config set locale=en
```

## License

MIT © [Rocktim Saikia](https://github.com/rocktimsaikia)
npm package: @rocktimsaikia/github-card
Description: A minimal github card widget for your portfolio.
Author: Rocktim Saikia
Latest version: 3.0.1

<div>
	<h1 align="center">github-card 🌈</h1>
	<p align="center">Beautiful embeddable github profile card for your portfolio. <br/> 
    Here is a live <a href="https://codepen.io/RocktimSaikia/full/jObbBmR">codepen Demo</a></p>
	<p align="center">
		<a href="https://github.com/rocktimsaikia/github-card/actions"><img alt="CI" src="https://github.com/rocktimsaikia/github-card/workflows/CI/badge.svg"/></a>
		<a href="https://www.npmjs.com/package/@rocktimsaikia/github-card"><img src="https://badge.fury.io/js/%40rocktimsaikia%2Fgithub-card.svg" alt="npm version"></a>
	</p>
    <p align="center"><a href="https://codepen.io/RocktimSaikia/full/jObbBmR"><img src="https://i.ibb.co/LdZZMdr/github-card.png"/></a></p>
</div>


## Highlights 

- Tiny and Zero dependencies (`~4kb`)
- Simple and easy to use
- Minimal and neat design
- Dark theme available

## Installation
Available on [npm](https://www.npmjs.com/) as [**@rocktimsaikia/github-card**](https://www.npmjs.com/package/@rocktimsaikia/github-card).

```sh
npm install @rocktimsaikia/github-card
```
or with `yarn`
```sh
yarn add @rocktimsaikia/github-card
```

## Usage

Since this an [ESM](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) web component, you can use it both as a script or through installation.

```js
import '@rocktimsaikia/github-card'

<github-card data-user="rocktimsaikia"></github-card>
```

Or use it as a script in a `html` file :
```html
<script type="module" src="https://unpkg.com/@rocktimsaikia/github-card@latest?module"></script>
```

## Theme
You can enable the optional dark theme by setting the `data-theme` attribute to `dark`

```html
<github-card data-user="rocktimsaikia" data-theme="dark"></github-card>
```
## License

2021 © MIT [Rocktim Saikia](https://rocktimcodes.site)
npm package: @rocktimsaikia/prettier-config
Description: My preferred Prettier config
Author: Rocktim Saikia
Latest version: 1.0.4

# @rocktimsaikia/prettier-config

> My personal Prettier config

## Install

```sh
pnpm add -D @rocktimsaikia/prettier-config
```

## Usage

In `package.json`:

```json
{
  "prettier": "@rocktimsaikia/prettier-config"
}
```

## License

MIT &copy; [Rocktim Saikia](http://rocktimsaikia.dev)
npm package: @rocktree/ash
Description: A keyboard-driven, markdown-aware text editor component for React
Latest version: 0.2.0

# @rocktree/ash

A keyboard-driven, markdown-aware text editor component for React.

## Install

```bash
npm install @rocktree/ash
```

## Usage

```tsx
import { useState } from 'react';
import { Editor } from '@rocktree/ash';

function App() {
  const [text, setText] = useState('');

  return (
    <Editor
      value={text}
      onChange={setText}
      placeholder="Start writing..."
      className="w-full h-64 p-4 bg-gray-900 text-gray-100 font-mono text-sm resize-none focus:outline-none"
    />
  );
}
```

## Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `value` | `string` | required | Current text value |
| `onChange` | `(value: string) => void` | required | Called when text changes |
| `tabSize` | `number` | `2` | Spaces per indent level |
| `placeholder` | `string` | `'Start writing...'` | Placeholder text |
| `className` | `string` | `''` | CSS class names |

All standard `<textarea>` HTML attributes are also accepted.

## Keyboard Shortcuts

| Shortcut | Action |
|----------|--------|
| `Cmd/Ctrl + B` | Toggle bold (`**text**`) |
| `Cmd/Ctrl + I` | Toggle italic (`_text_`) |
| `Cmd/Ctrl + K` (no selection) | Insert `[]()` with cursor inside `[]` |
| `Cmd/Ctrl + K` (with selection) | Wrap selection as `[text]()` with cursor inside `()` |
| `Tab` | Indent |
| `Shift + Tab` | Unindent |
| `Enter` on list item | Continue list |
| `Enter` on empty list item | End list |
| `Cmd/Ctrl + Z` | Undo (native) |
| `Cmd/Ctrl + Shift + Z` | Redo (native) |

### Paste URL to Link

When text is selected and you paste a valid URL (e.g. `https://`, `ftp://`, `mailto:`), the editor automatically formats it as a Markdown link: `[selected text](url)`. If the pasted content is not a URL, normal paste behavior applies.

## License

MIT
npm package: @rockts-org/react-auth-provider
Description: Rockets Auth package to handle all authentication needs of your application.
Latest version: 1.0.0-alpha.0

# @rockets-react/auth-provider

Rockets Auth package to handle all authentication needs of your application.

## IMPORTANT

When building your Auth system, you need to remember these!

> This module only helps you to handle auth on your application. There is no magic, you are still responsible for
> having a SignIn/Signup screen and maitaing the state and routes of your application.

## Here is how it works

### This package will expose the following

- A provider and a hook to access auth information like user data, tokens
- Methods to make the Login and Logout funcionalities

## Examples

These are very rough examples. We intend to improve them ASAP.

### Simple User Login

```typescript
import { AuthProvider, useAuth } from "@rockts-org/auth-provider";

const AppWrapper: React.FC = () => {
  const {doLogin, user } = useAuth();

 const onClickSignIn = async (user: string, password: string) => {
    doLogin({ email: user, password });
  }

  return (
    <AuthProvider>
        {user 
            ? <div>LOGGED IN!</div>
            : <SimpleLoginForm onClickSignIn={onClickSignIn} />
        }
    </AuthProvider>
  );
}
```
npm package: @rockts-org/react-data-provider
Description: Rockets Data Access package to handle all requests needed by your application.
Latest version: 1.0.0-alpha.0

# @rockets-react/data-provider

Rockets Data Access package to handle all requests needed by your application.

## IMPORTANT

When building your Data Access Layer, you need to remember these!

> This module only helps you to handle basic requests on your application. There is no magic, you are still responsible for
> providing correct midlewares to auth requests, handle responses and errors

## Here is how it works

### This package will expose the following

- A dataProvider object to use methods like post, get, find, delete, update

!!! Important !!!

- You have to provide api information to dataProvider make the requests correctly 
- You have to provide utility funcions like getAccessToken, getNewToken (Refresh) so dataProvider can handle the requests correctly

## Examples

These are very rough examples. We intend to improve them ASAP.

### Simple User Login

```typescript
import dataProvider from '@rockts-org/data-provider';

const AppWrapper: React.FC = () => {
    const [token, setToken] = useState<string>();

    const doLogin = async (loginData: LoginParams) => {
        const token = await dataProvider.post({
            uri: '/auth/login',
            body: loginData,
        });

        setToken(token);
    };

  return (
    <AuthProvider>
        {token 
            ? <div>LOGGED IN!</div>
            : <SimpleLoginForm onClickSignIn={doLogin} />
        }
    </AuthProvider>
  );
}
```
npm package: @rockts-org/react-notification-provider
Description: Rockets Notification package to handle all notifications you may need in your application.
Latest version: 1.0.0-alpha.0

# @rockets-react/notification-provider

Rockets Notification package to handle all notifications you may need in your application.

## IMPORTANT

When building your notification system, you need to remember these!

> This module only helps you to handle notification on your application. There is no magic, you are still responsible for
> having a Notification component and maitaing the state and notification messages of your application.

## Here is how it works

### This package will expose the following

- A provider and a hook to access notification information like title, message and messageType and to create new notifications

## Examples

These are very rough examples. We intend to improve them ASAP.

### Simple User Login

```typescript
import {useAuth } from "@rockts-org/auth-provider";
import { NotificationProvider, useNotification } from "@rockts-org/notification-provider";

const LoginForm = () => {
  const {doLogin, user } = useAuth();
  const {notification, notify} = useNotification();
  
  React.useEffect(()=>{
    if(user){
      notify({
        title: 'Success',
        message: 'Login Success',
        messageType: 'success',
      })
    }
  }, [user])

  const onClickSignIn = async (user: string, password: string) => {
    doLogin({ email: user, password });
  }

  return <>
    <SimpleLoginForm onClickSignIn={onClickSignIn} />;
    {notification && <Notification {...notification}>}
  </>
}

const AppWrapper: React.FC = () => {
  return 
  <NotificationProvider>
    <LoginForm />
  </NotificationProvider>
}

```
npm package: @rockts-org/react-router
Description: Rockets Router package to handle app routeing system
Latest version: 1.0.0-alpha.0

# @rockets-react/react-router

Rockets Router package to handle app routeing system

## IMPORTANT

When building your Routing system, you need to remember these!

> This module only helps you to handle routing on your application. There is no magic, you are still responsible for
> maitaing the state of your app and navigate between the routes manually.

## Here is how it works

### This package will expose the following

- A Router component to wrapp all your app privates and publics routes
- Methods to make the routes navigation

!!! Important !!!

- You have to provide a isAuth boolean property, NotFound and Unauthorized components to Router component, so the Router will have a component to render when these situations happens.

## Examples

These are very rough examples. We intend to improve them ASAP.

### Simple User Login

```typescript
import { ProtectedRoute, PublicRoute, Router, useNavigate } from "@rockts-org/react-router";

const NotFound = () => {
    return <div>Not Found</div>
}

const Unauthorized = () => {
    return <div>Unauthorized</div>
}

const Home = () => {
  return  <div>
      LOGGED IN!
    </div>
}

const LoginForm = () => {
  const {doLogin, user } = useAuth();
  const navigateTo = useNavigate();

  React.useEffect(()=>{
    if(user){
      navigateTo("/", {replace: true});
    }
  }, [user])

  const onClickSignIn = async (user: string, password: string) => {
    doLogin({ email: user, password });
  }

  return <SimpleLoginForm onClickSignIn={onClickSignIn} />;
}

const AppWrapper: React.FC = () => {
  const { user} = useAuth();

  return <Router isAuth={!!user} NotFoundComponent={NotFound} UnauthorizedComponent={Unauthorized}>
        <ProtectedRoute path="/" Component={Home} />
        <PublicRoute path="/login" Component={LoginForm} />
    </Router>
}

```
npm package: @rocktyy/dynamic-page-core
Description: Core library for dynamic page rendering
Author: rocktyy
Latest version: 0.0.1

# Dynamic Page Core

一个基于 React 的动态页面渲染引擎，支持静态和动态路由、组件渲染、布局管理等功能。

## 特性

- 支持静态和动态路由配置
- 灵活的页面布局系统
- 组件渲染系统
- 支持事件处理
- 支持样式管理
- 支持默认页面配置

## 安装

```bash
npm install dynamic-page-core
```

## 使用方法

### 1. 配置类型

```typescript
import { Config, Page, Component } from 'dynamic-page-core';

const config: Config = {
  pages: {
    home: {
      id: 'home',
      path: '/',
      layout: {
        // 页面布局配置
      },
      components: [
        // 组件配置
      ]
    },
    dynamic: {
      id: 'dynamic',
      path: '/dynamic/:id',
      layout: {
        // 页面布局配置
      },
      components: [
        // 组件配置
      ]
    }
  },
  defaultPage: 'home'
};
```

### 2. 使用 DynamicPage 组件

```typescript
import { DynamicPage } from 'dynamic-page-core';

function App() {
  return (
    <DynamicPage config={config} />
  );
}
```

### 3. 使用 useConfig Hook

```typescript
import { useConfig } from 'dynamic-page-core';

function MyComponent() {
  const { currentPage } = useConfig(config);
  
  if (!currentPage) {
    return <div>Page not found</div>;
  }

  return (
    <div>
      Current page: {currentPage.id}
    </div>
  );
}
```

## 配置说明

### Config 接口

```typescript
interface Config {
  pages: Record<string, Page>;
  defaultPage?: string;
}
```

### Page 接口

```typescript
interface Page {
  id: string;
  path: string;
  layout: PageLayout;
  components: Component[];
  params?: Record<string, string>;
}
```

### Component 接口

```typescript
interface Component {
  id: string;
  type: string;
  props?: Record<string, any>;
  layout: ComponentLayout;
  events?: Record<string, () => void>;
}
```

## 布局系统

### PageLayout

页面布局支持以下属性：
- `display`: 'flex' | 'grid' | 'block'
- `flexDirection`: 'row' | 'column'
- `gap`: number
- `padding`: number
- `margin`: number
- `backgroundColor`: string
- `position`: 'relative' | 'absolute' | 'fixed'
- `top`: number
- `left`: number
- `right`: number
- `bottom`: number
- `width`: number
- `height`: number

### ComponentLayout

组件布局支持与 PageLayout 相同的属性，用于控制单个组件的位置和样式。

## 事件处理

组件支持事件处理：

```typescript
const component: Component = {
  id: 'button',
  type: 'button',
  props: {
    text: 'Click me'
  },
  events: {
    onClick: () => {
      console.log('Button clicked');
    }
  }
};
```

## 动态路由

支持动态路由参数：

```typescript
const config: Config = {
  pages: {
    dynamic: {
      id: 'dynamic',
      path: '/dynamic/:id',
      // ... 其他配置
    }
  }
};
```

在组件中可以通过 `useConfig` hook 访问路由参数：

```typescript
function MyComponent() {
  const { currentPage } = useConfig(config);
  
  if (currentPage?.params) {
    console.log('Dynamic ID:', currentPage.params.id);
  }
}
```

## 开发

```bash
# 安装依赖
npm install

# 运行测试
npm test

# 构建
npm run build
```

## 许可证

MIT
npm package: @rockvan/svelte-component-library
Description: my svelte component library
Author: rockvan
Latest version: 0.0.1

# create-svelte

Everything you need to build a Svelte library, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).

Read more about creating a library [in the docs](https://kit.svelte.dev/docs/packaging).

## Creating a project

If you're seeing this, you've probably already done this step. Congrats!

```bash
# create a new project in the current directory
npm create svelte@latest

# create a new project in my-app
npm create svelte@latest my-app
```

## Developing

Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:

```bash
npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open
```

Everything inside `src/lib` is part of your library, everything inside `src/routes` can be used as a showcase or preview app.

## Building

To build your library:

```bash
npm run package
```

To create a production version of your showcase app:

```bash
npm run build
```

You can preview the production build with `npm run preview`.

> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.

## Publishing

Go into the `package.json` and give your package the desired name through the `"name"` option. Also consider adding a `"license"` field and point it to a `LICENSE` file which you can create from a template (one popular option is the [MIT license](https://opensource.org/license/mit/)).

To publish your library to [npm](https://www.npmjs.com):

```bash
npm publish
```
npm package: @rockx/ui-components
Description: 1. Usage of `PageHeader` and `PageFooter` component
Author: nobi1007
Latest version: 0.1.3

# UI components used at RockX

1. Usage of `PageHeader` and `PageFooter` component

````jsx
import '@rockx/ui-components/dist/ui-components.cjs.development.css';
import { PageFooter, PageHeader } from '@rockx/ui-components';

const App = () => {
  return (
    <div>
      <PageHeader />
      <PageFooter />
    </div>
  );
};```
````
npm package: @rocky77jhxu/claude-code-router-fixed
Description: Use Claude Code without an Anthropics account and route it to another LLM provider (Fixed version with multi-instance support)
Author: musistudio
Latest version: 1.2.2

# Claude Code Router Fixed（自用版）

本仓库修改自[musistudio/claude-code-router](https://github.com/musistudio/claude-code-router)。

主要解决了以下问题：

1. 修复了多租户环境下的端口冲突和计数文件冲突问题；
2. 支持了多Config功能：可指定多个配置文件启动多个实例，每个实例使用不同的配置文件；
3. 修复了原本 CCR 在非交互式运行下的一些问题。

## 安装方式

首先，你需要先确保安装 `Claude Code`，参考[官方文档](https://docs.anthropic.com/en/docs/claude-code/quickstart):

```bash
npm install -g @anthropic-ai/claude-code
```

然后，安装 CCR Fixed:

```bash
npm install -g @rocky77jhxu/claude-code-router-fixed
```

如果遇到问题，欢迎提交 Issue。

## 多租户问题概述

该问题主要解决在多租户的服务器环境上，如果两个用户同时启动 CCR，则会导致端口冲突和计数文件冲突的问题。

我们做了以下解决：

1. 你可以在 `config.json` 中明确指定端口，这样可以避免端口冲突；
2. 如果你不想指定端口，CCR 会自动从 3456 开始查找可用端口，并将实际使用的端口保存到 `.claude-code-router-{config_name}.port` 文件中。

## 多Config功能概述

Claude Code Router 支持在同一服务器上运行多个实例，每个实例使用不同的配置文件。这使得你可以：

- 为不同难度的任务使用不同的模型
- 同时处理多个项目，每个项目使用不同的配置
- 在多租户环境下隔离不同用户的配置

配置文件的结构与原版 CCR 一致，例如：

```json
{
    "APIKEY": "your-api-key",
    "LOG": true,
    "Providers": [
        {
            "name": "claude",
            "api_base_url": "https://api.anthropic.com/v1/messages",
            "api_key": "sk-xxx",
            "models": ["claude-sonnet-4-5-20250929"]
        }
    ],
    "Router": {
        "default": "claude,claude-sonnet-4-5-20250929"
    }
}
```

假设你有多种不同的 Config 文件，你可以这样启动：

```bash
# 实例1：使用 Claude 配置（简单任务）
ccr --config config-claude.json code

# 实例2：使用 GPT-5 配置（复杂任务）
ccr --config config-gpt5.json code

# 实例3：使用 Gemini 配置（长上下文任务）
ccr --config config-gemini.json code
```

停止服务方式：

```bash
ccr --config config-claude.json stop
ccr --config config-gpt5.json stop
ccr --config config-gemini.json stop
```

### 🔧 实例隔离机制

每个配置文件会自动创建独立的管理文件，**统一存放在 `~/.claude-code-router/instances/` 目录下**，保持工作目录整洁：

```
~/.claude-code-router/instances/
├── config-claude.json.pid      # PID文件
├── config-claude.json.port     # 端口文件
├── config-claude.json.count    # 引用计数文件
├── config-gpt5.json.pid
├── config-gpt5.json.port
└── config-gpt5.json.count
```

这确保了：
- ✅ **进程隔离**：每个实例有独立的进程管理（PID文件）
- ✅ **端口通信**：服务端将实际端口写入端口文件，客户端读取后连接
- ✅ **引用计数**：每个实例独立跟踪客户端连接数
- ✅ **配置隔离**：每个实例使用独立的配置，互不干扰


## 非交互式修复概述

原因：使用 `minimist` 解析参数后，原代码只传递了位置参数 `argv._.slice(1)`（即 `code` 后面的非选项参数），而所有选项参数（如 `--permission-mode`, `--dangerously-skip-permissions`, `-p`）都被解析到了 `argv` 对象的其他字段中，没有传递给 `claude` 命令。

修复方案：

添加了 `buildClaudeArgs` 函数，它会：

1. 提取位置参数：从 argv._ 中获取（跳过 code 命令）
2. 重建选项参数：遍历 argv 对象，排除 _ 和 config
3. 还原参数格式：
   - 布尔标志：--permission-mode → ['--permission-mode']
   - 带值选项：-p "text" → ['-p', 'text']
npm package: @rocky_codes/fatsecret
Description: Fatsecret is an unofficial API wrapper for the FatSecret nutrition database.
Latest version: 1.0.9

<p align="center">
  <img height="96px" src="https://user-images.githubusercontent.com/44450511/192179431-d308972e-e7cc-4c39-ad80-fcf3efab206c.png" alt="fatsecret.js Logo" />
</p>
<p align="center">
  <a href="https://github.com/IDontLua/fatsecret.js">
      <img height="32px" alt="Github" title="Github" src="https://user-images.githubusercontent.com/44450511/192173294-eabfc83b-d8da-4251-bf23-152d73349fa0.png"/>
  </a>
  &#8287;&#8287;&#8287;&#8287;&#8287;
  <a href="https://quandale-henry-quavante.gitbook.io/fatsecertjs/">
      <img height="32px" alt="Docs" title="Docs" src="https://user-images.githubusercontent.com/44450511/192173296-f293fad2-eb27-43e2-b358-76ec7731c306.png"/>
  </a>
</p>

---

Fatsecret.js is an unofficial API wrapper for the FatSecret nutrition database.

## Highlights

- ✔ Full OAuth2 support
- ✔ Fully defined types
- ✔ Classes & helper methods for responses
- ✔ Automatic access token refreshing

## Installation

```console
# npm
npm install --save-dev fatsecret.js

# yarn
yarn add fatsecret.js

```

## Basic Usage

Simple example of getting a food with id `1234` and logging it to the console.

```ts
// initialize new client
const client = new FatSecret.Client({
  credentials: {
    clientId: 'fatsecret client id',
    clientSecret: 'fatsecret client secret',
    scope: ['premier', 'barcode'], // your scopes
  },
});

// get food with id
const foundFood = await client.getFood({ foodId: '1234' });

console.log(foundFood); // Food {id: '1234'...}
```

> 📌 Only 4 food related methods currently supported.