open-index/open-npm huggingface dataset:
npm package: @sopfe/lint
Description: so lint
Author: liujinghan
Latest version: 1.0.0

# @sopfe/lint

统一 so 团队代码风格，减少没必要的安装麻烦，内部直接依赖安装。

支持 `js`、`tsx`、`react`.

## 1. 安装三方库
```bash
npm add -D eslint @sopfe/lint

# or
yarn add -D eslint @sopfe/lint

# or
pnpm add -D eslint @sopfe/lint
```

## 2. vscode 安装 eslint 插件

## 3. 根目录配置

```js
// .eslintrc.js
module.exports = {
    extends: require.resolve('@so/lint/strict'),
};
```

## 接下来想做什么？

- [ ] oxlint 集成。（期望 oxlint 更好之后）
    - 可以在一些项目中先手动集成，参考文档：[oxlint 在 eslint 中集成](https://oxc-project.github.io/docs/guide/usage/linter.html#eslint)
npm package: @sophat/check-validation
Description: The `@sophat/check-validation` checking validation. Purpose to be used in the frontend.
Author: pphatdev
Latest version: 0.0.1-test

# checking-validation
<p align="center">
    <img src="https://nodei.co/npm/@sophat/check-validation.png?downloads=true&downloadRank=true&stars=true"/>
    <br/>
    <img src="https://img.shields.io/npm/dw/%40sophat%2Fcheck-validation?style=flat-square&label=Downloads&labelColor=d42932&color=%231fa8e0">
    <img src="https://img.shields.io/npm/v/%40sophat%2Fcheck-validation?style=flat-square&label=Versions&labelColor=d42932&color=%231fa8e0">
    <img src="https://img.shields.io/bundlephobia/min/%40sophat%2Fcheck-validation?style=flat-square&label=Size&labelColor=d42932&color=%231fa8e0">
    <img src="https://img.shields.io/github/stars/pphatdev?style=flat-square&label=Star&labelColor=d42932&color=%231fa8e0">
</p>


## npm: ***@sophat/check-validation***
The `@sophat/check-validation` checking validation. Purpose to be used in the frontend.

## ⬇️ Installation
```sh
npm install @sophat/check-validation --dev
```

## 📂 Usage

### ⚡ Import
```js
import { Validate } from "@sophat/check-validation";
```

### 📞 Checking Phone
```js
Validate.phone("010 125 6783") // true
Validate.phone("+855 10 125 6783") // true

Validate.phone("010 125 67832") // false
Validate.phone("+855 10 125 67832") // false
```

### 📧 Check Email
```js
Validate.email("info@pphat.me") // true
Validate.email("info@pphat.xyz") // true
Validate.email("-info@pphat.xyz") // false
```

### 🔐 Check Password
```js
Validate.password("@Ashsdl93") // true
Validate.password("123abc") // false
```

### ⭕ Check Is Empty
> Ignoring Spacing and null able

```js
Validate.isEmpty("string") // false
Validate.isEmpty("") // true
Validate.isEmpty("    ") // true
Validate.isEmpty() // true
```

### 🔢 Check Is Number

```js
Validate.isNumber("123") // true
Validate.isNumber(0.123) // true
Validate.isNumber("abcdef") // false
```

## 🪲 Bugs
[Bug Report](https://github.com/pphatdev/checking-validation/issues/new)
npm package: @sophat/sessions
Description: A TypeScript utility library for managing browser session storage with a simple API. Provides methods to set, get, update, remove, and clear session storage items, plus key enumeration. Ideal for client-side state management and data persistence in web ap
Author: pphatdev
Latest version: 1.0.0

# Session Storage Utility

This project provides a set of utility functions for interacting with the browser's session storage. The `Sessions` class offers methods to set, get, update, remove, and clear session storage items, as well as retrieve all session storage keys.

## Installation

You can install the package via npm:

```bash
npm install @sophat/sessions
```

Or using yarn:

```bash
yarn add @sophat/sessions
```

Or using local via github

```bash
cd project_dir/packages && git clone https://github.com/pphatdev/sessions.git && npm link @sophat/sessions
```

## Usage

### Setting a Cookie

```typescript
import { Sessions } from '@sophat/sessions';

Sessions.setItem('key', 'value');
```

### Getting a Cookie

```typescript
const value = Sessions.getItem('key');
```

### Updating a Cookie

```typescript
Sessions.updateItem('key', 'newValue');
```

### Removing a Cookie

```typescript
Sessions.removeItem('key');
```

### Clearing All Cookies

```typescript
Sessions.clear();
```

### Getting All Cookie Keys

```typescript
const keys = Sessions.getKeys();
```

## License

This project is licensed under the MIT License.
npm package: @sophek/use-my-quote
Description: use my quote
Author: sophek
Latest version: 1.2.0

# @sophek/use-my-quote

> use my quote

[![NPM](https://img.shields.io/npm/v/@sophek/use-my-quote.svg)](https://www.npmjs.com/package/@sophek/use-my-quote) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @sophek/use-my-quote
```

## Usage

```jsx
import React from 'react'
import { useMyQuote } from '@sophek/use-my-quote'

const App = () => {
  const { say } = useMyQuote()
  return (
    <div>
      {say}
    </div>
  )
}
```

## License

MIT © [sophek](https://github.com/sophek)

---

This hook is created using [create-react-hook](https://github.com/hermanya/create-react-hook).
npm package: @sopheos/mariabuilder
Description: A querry builder for mariadb
Author: Sopheos
Latest version: 2.1.1

# mariabuilder

A simple mariadb query builder for [Node.js](https://nodejs.org/)  

## Quick Start

### Installation

Installation is done by using npm :  

```sh
npm install @sopheos/mariabuilder
```

### Example

Here is an example in TypeScript to select username with an id inferior to 15 :  

```typescript
import { QB, QBFrag } from 'mariabuilder'
import { createPool, Pool } from "mariadb/*";

const pool: Pool = createPool({
    host: "localhost",
    port: 3000,
    user: "root",
    password: "SuperSecret",
    database: "my_db"
});

const query: QBFrag = QB
.from("users")
.select()
.column("username")
.getParent()
.where()
.andInf("id", 15)
.getParent()
.read();

try {
    const users await pool.query(query.getStatment(), query.getData());
} catch (e) {
    console.log(e);
}
```

## See More

You can see the [guide](./docs/guide.md) on how to use the module or the API documentation.
npm package: @sophia-vibelog/mcp-server
Description: Sophia (VibeLog) MCP Server — Claude Code에서 AI 코딩 세션 로그를 자동 발행합니다
Latest version: 0.4.2

# @vibelog/mcp-server

Sophia(VibeLog)의 MCP(Model Context Protocol) 서버입니다.
Claude Code에서 AI 코딩 세션 로그를 Sophia 대시보드로 자동 발행합니다.

## 설치

```bash
npm install -g @vibelog/mcp-server
```

## 설정

### 1. API 키 발급

Sophia 웹 대시보드 → 설정 → API 키 관리에서 새 키를 생성합니다.

### 2. Claude Code 설정

`claude_desktop_config.json`에 MCP 서버를 추가합니다:

```json
{
  "mcpServers": {
    "sophia": {
      "command": "npx",
      "args": ["@sophia-vibelog/mcp-server"],
      "env": {
        "SOPHIA_API_KEY": "your-api-key-here",
        "SOPHIA_API_URL": "https://sophia-vibelog.site",
        "ANTHROPIC_API_KEY": "your-anthropic-api-key"
      }
    }
  }
}
```

### 3. 환경 변수

| 변수 | 필수 | 기본값 | 설명 |
|------|------|--------|------|
| `SOPHIA_API_KEY` | O | - | Sophia에서 발급받은 API 키 |
| `SOPHIA_API_URL` | X | `http://localhost:3000` | Sophia 서버 URL |
| `ANTHROPIC_API_KEY` | △ | - | Claude API 키 (rate-prompt 사용 시 필요) |

## 사용법

Claude Code에서 다음과 같이 말하면 됩니다:

```
"이거 로그에 올려줘"
"이 세션 소피아에 기록해줘"
```

### 제공 도구

#### `publish-log`

AI 코딩 세션 로그를 Sophia에 발행합니다.

**매개변수:**
- `rawSessionLog` (필수) — 세션 로그 텍스트
- `title` (선택) — 로그 제목
- `projectId` (선택) — 프로젝트 ID

#### `rate-prompt`

사용자 질문의 품질을 평가하고 개선 방향을 제안합니다.

**사용법:**

질문 끝에 `??`를 붙이면 소피아가 질문 코칭을 제공합니다:

```
사용자: "에러가 난다??"

→ Claude의 답변
...
━━━━━━━━━━━━━━━━━━━━━━━
💬 소피아의 질문 코칭

좀 더 구체적으로 말씀해주시면
훨씬 정확한 답변을 드릴 수 있어요!

🎯 이 정보가 있으면 완벽해요
  • 어느 페이지/기능에서 발생했나요?
  • 어떤 에러 메시지가 보이나요?

✨ 예를 들면 이렇게요
  "○○ 페이지에서 △△ 버튼을 눌렀을 때
   'Type error: ...' 에러가 발생해요"
━━━━━━━━━━━━━━━━━━━━━━━
```

**매개변수:**
- `userMessage` (필수) — 평가할 사용자 메시지 (`??`는 제거된 상태)
- `conversationContext` (선택) — 대화 맥락

**특징:**
- ❓ `??` = 질문을 더 잘하고 싶을 때
- 💬 격려 중심 코칭 (점수/비판 없음)
- 📍 답변 맨 마지막에 표시 (긴 스크롤 고려)

## 개발

```bash
# 의존성 설치
npm install

# 빌드
npm run build

# 감시 모드
npm run dev
```

## 라이선스

MIT
npm package: @sophia-vibelog/setup
Description: One-command MCP setup for Sophia VibeLog (Claude Code + Cursor)
Author: taeseok
Latest version: 0.4.2

# @sophia-log/setup

One-command MCP setup for Sophia VibeLog

## Usage

```bash
SOPHIA_API_KEY=your_api_key npx @sophia-log/setup
```

## What it does

1. ✓ Verifies your API key
2. ✓ Creates `.claude` directory
3. ✓ Adds MCP configuration to `claude_desktop_config.json`
4. ✓ Verifies the setup

## Requirements

- Node.js >= 16
- Claude Code installed

## After installation

1. Quit Claude Code (Mac: Cmd+Q, Windows: Alt+F4)
2. Restart Claude Code
3. Type "로그에 올려줘" to test the connection

## License

MIT