open-index/open-npm huggingface dataset:
npm package: @hitechclaw/doc-mcp
Description: HiTechClaw Dev Docs MCP Server — Developer documentation knowledge base accessible via MCP for AI-assisted coding
Author: xDev Asia
Latest version: 1.0.0

# @hitechclaw/doc-mcp

MCP Server cho kho tài liệu developer của HiTechClaw platform. Khi VS Code AI (Copilot, Claude, etc.) code, nó sẽ tự động gọi MCP server này để tìm tài liệu liên quan trong kho.

## Architecture

```
data/dev-docs/           ← Kho tài liệu (Markdown files)
├── conventions/         ← Coding conventions & patterns
├── architecture/        ← Architecture decisions
├── guides/              ← How-to guides
├── api/                 ← API documentation
├── troubleshooting/     ← Common issues & fixes
└── examples/            ← Code examples

packages/doc-mcp/        ← MCP Server  
├── src/
│   ├── server.ts        ← MCP server + tools
│   ├── doc-store.ts     ← Document indexing & search engine
│   ├── bin.ts           ← Standalone entry point
│   └── index.ts         ← Barrel export
```

## MCP Tools

| Tool | Mô tả |
|------|--------|
| `search_docs` | Full-text search tài liệu theo keyword/câu hỏi |
| `get_doc` | Lấy full nội dung document theo ID |
| `list_doc_categories` | Duyệt danh mục tài liệu |
| `list_docs` | Liệt kê documents trong 1 category |

## VS Code Integration

Đã cấu hình sẵn trong `.vscode/mcp.json`:

```json
{
    "servers": {
        "hitechclaw-dev-docs": {
            "type": "stdio",
            "command": "npx",
            "args": ["tsx", "packages/doc-mcp/src/bin.ts"],
            "env": {
                "DOCS_ROOT": "${workspaceFolder}/data/dev-docs"
            }
        }
    }
}
```

VS Code sẽ tự động khởi động MCP server khi mở workspace. AI agents có thể:

1. **search_docs** "gateway route pattern" → Tìm conventions về cách viết API routes
2. **get_doc** "conventions/typescript" → Đọc full conventions về TypeScript
3. **list_doc_categories** → Xem có những loại tài liệu nào

## CLI Commands

```bash
# Initialize dev-docs directory
npm run cli -- docs init

# List all docs
npm run cli -- docs list

# List docs in category
npm run cli -- docs list conventions

# Search docs
npm run cli -- docs search "drizzle schema"

# Add new doc
npm run cli -- docs add api/sessions "Sessions API" --tags api,sessions,rest
```

## Adding Documentation

1. Tạo file `.md` trong `data/dev-docs/<category>/`:

```markdown
---
tags: [tag1, tag2]
---

# Document Title

Content here...
```

1. MCP server tự động index khi nhận request (hot-reload).

## Running Standalone

```bash
# Via tsx (development)
DOCS_ROOT=./data/dev-docs npx tsx packages/doc-mcp/src/bin.ts

# Via compiled (production)
npm run build -w packages/doc-mcp
DOCS_ROOT=./data/dev-docs node packages/doc-mcp/dist/bin.js
```
npm package: @hitesh-lin/admin-ui
Description: <p align="center">   <a href="https://www.medusajs.com">     <img alt="Medusa" src="https://user-images.githubusercontent.com/7554214/153162406-bf8fd16f-aa98-4604-b87b-e13ab4baf604.png" width="100" />   </a> </p> <h1 align="center">   @medusajs/admi
Author: Kasper Kristensen
Latest version: 2.1.17

<p align="center">
  <a href="https://www.medusajs.com">
    <img alt="Medusa" src="https://user-images.githubusercontent.com/7554214/153162406-bf8fd16f-aa98-4604-b87b-e13ab4baf604.png" width="100" />
  </a>
</p>
<h1 align="center">
  @medusajs/admin-ui
</h1>

<h4 align="center">
  <a href="https://docs.medusajs.com">Documentation</a> |
  <a href="https://demo.medusajs.com/">Medusa Admin Demo</a> |
  <a href="https://www.medusajs.com">Website</a>
</h4>

<p align="center">
An open source composable commerce engine built for developers.
</p>
<p align="center">
  <a href="https://github.com/medusajs/medusa/blob/master/LICENSE">
    <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="Medusa is released under the MIT license." />
  </a>
  <a href="https://circleci.com/gh/medusajs/medusa">
    <img src="https://circleci.com/gh/medusajs/medusa.svg?style=shield" alt="Current CircleCI build status." />
  </a>
  <a href="https://github.com/medusajs/medusa/blob/master/CONTRIBUTING.md">
    <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat" alt="PRs welcome!" />
  </a>
    <a href="https://www.producthunt.com/posts/medusa"><img src="https://img.shields.io/badge/Product%20Hunt-%231%20Product%20of%20the%20Day-%23DA552E" alt="Product Hunt"></a>
  <a href="https://discord.gg/xpCwq3Kfn8">
    <img src="https://img.shields.io/badge/chat-on%20discord-7289DA.svg" alt="Discord Chat" />
  </a>
  <a href="https://twitter.com/intent/follow?screen_name=medusajs">
    <img src="https://img.shields.io/twitter/follow/medusajs.svg?label=Follow%20@medusajs" alt="Follow @medusajs" />
  </a>
</p>

## The Medusa Admin App. Included with the [`@medusajs/admin`](https://www.npmjs.com/package/@medusajs/admin) plugin. You shouldn't install this package separately.
npm package: @hitesh.sharma_/router-sdk
Description: An sdk for routing.
Latest version: 1.6.0-cdk-1

# Alpha software

The latest version of the SDK is used in production in the Uniswap Interface,
but it is considered Alpha software and may contain bugs or change significantly between patch versions.
If you have questions about how to use the SDK, please reach out in the `#dev-chat` channel of the Discord.
Pull requests welcome!

# Uniswap Swap Router SDK

This SDK is meant to facilitate interactions with the contracts in [swap-router-contracts](https://github.com/Uniswap/swap-router-contracts).
npm package: @hitesh.sharma_/sdk-core
Description: ⚒️ An SDK for building applications
Latest version: 4.0.6-cdk-1

# Uniswap SDK Core

[![Unit Tests](https://github.com/Uniswap/uniswap-sdk-core/workflows/Unit%20Tests/badge.svg)](https://github.com/Uniswap/uniswap-sdk-core/actions?query=workflow%3A%22Unit+Tests%22)
[![Lint](https://github.com/Uniswap/uniswap-sdk-core/workflows/Lint/badge.svg)](https://github.com/Uniswap/uniswap-sdk-core/actions?query=workflow%3ALint)
[![npm version](https://img.shields.io/npm/v/@uniswap/sdk-core/latest.svg)](https://www.npmjs.com/package/@uniswap/sdk-core/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@uniswap/sdk-core/latest.svg)](https://bundlephobia.com/result?p=@uniswap/sdk-core@latest)

This code is shared across Uniswap TypeScript SDKs.
npm package: @hitesh.sharma_/uniswapx-sdk
Description: SDK for the UniswapX protocol
Author: Uniswap
Latest version: 1.4.1-cdk-0

# uniswapx-sdk

SDK for the UniswapX protocol

## Usage

The SDK contains bindings for two main flows: parsing serialized orders & building new orders.

### Building & Signing Orders

```ts
import { DutchOrder, NonceManager } from '@uniswap/uniswapx-sdk';
import { ethers } from 'ethers';

const provider = new ethers.providers.JsonRpcProvider(RPC_URL);
const account = await provider.getSigner().getAddress(); 
const nonceMgr = new NonceManager(provider, 1); 
const nonce = await nonceMgr.useNonce(account); 

const chainId = 1;
const builder = new DutchOrderBuilder(chainId);
const order = builder
  .deadline(deadline)
  .decayEndTime(deadline)
  .decayStartTime(deadline - 100)
  .nonce(nonce)
  .input({
    token: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
    amount: BigNumber.from('1000000'),
  })
  .output({
    token: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
    startAmount: BigNumber.from('1000000000000000000'),
    endAmount: BigNumber.from('900000000000000000'),
    recipient: '0x0000000000000000000000000000000000000000',
  })
  .build();
 
// Sign the built order 
const { domain, types, values } = order.permitData();
const signature = wallet._signTypedData(domain, types, values);

const serializedOrder = order.serialize();
// submit serializedOrder and signature to order pool
```

### Parsing Orders
```ts
import { parseOrder, Order, OrderValidation } from '@uniswap/uniswapx-sdk';

const serializedOrder = '0x1111222233334444555500000000234300234...';
const order: Order = parseOrder(serializedOrder);

const orderData = order.info;
const orderHash = order.hash();
```
### Validating Orders 
```ts
import { ethers } from 'ethers';
import { OrderValidator } from 'uniswapx-sdk';

const provider = new ethers.providers.JsonRpcProvider(RPC_URL);
const validator = new OrderValidator(provider, CHAIN_ID); 
const orders: SignedOrder[] = [
  {
    order: order1, 
    signature: signature1
  }, 
  {
    order: order2, 
    signature: signature2
  }
]; 

try {
  const statusList: OrderValidation[] = await validator.validateBatch(orders); 
  // Do something with list of statuses 
}
catch(e) {
  // Handle error
}

```

### Order Object

**serialize()**

Returns an abi-encoded serialization of the order. This serialized format is passed into the corresponding reactor contract for execution.


**getSigner(signature)**

Recovers the address which created the given signature over the order. Used to determine the order maker.


**permitData()**

Returns the domain, types, and values used to generate an EIP-712 signature over the order. Note that this signature both approves the release of the order's input tokens _and_ the execution of the order itself.


**hash()**

Returns the order hash. This is used as a key to track order fulfillment on-chain. It may also be useful as a unique order identifier for off-chain purposes.
npm package: @hitesh.sharma_/v2-sdk
Description: 🛠 An SDK for building applications.
Latest version: 3.2.0-cdk-0

# Uniswap V2 SDK

[![Unit Tests](https://github.com/Uniswap/uniswap-v2-sdk/workflows/Unit%20Tests/badge.svg)](https://github.com/Uniswap/uniswap-v2-sdk/actions?query=workflow%3A%22Unit+Tests%22)
[![Lint](https://github.com/Uniswap/uniswap-v2-sdk/workflows/Lint/badge.svg)](https://github.com/Uniswap/uniswap-v2-sdk/actions?query=workflow%3ALint)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![npm version](https://img.shields.io/npm/v/@uniswap/v2-sdk/latest.svg)](https://www.npmjs.com/package/@uniswap/v2-sdk/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@uniswap/v2-sdk/latest.svg)](https://bundlephobia.com/result?p=@uniswap/v2-sdk@latest)

In-depth documentation on this SDK is available at [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).
npm package: @hitesh.sharma_/v3-sdk
Description: ⚒️ An SDK for building applications
Latest version: 3.10.0-cdk-2

# Alpha software

The latest version of the SDK is used in production in the Uniswap Interface,
but it is considered Alpha software and may contain bugs or change significantly between patch versions.
If you have questions about how to use the SDK, please reach out in the `#dev-chat` channel of the Discord.
Pull requests welcome!

# Uniswap V3 SDK

[![Unit Tests](https://github.com/Uniswap/uniswap-v3-sdk/workflows/Unit%20Tests/badge.svg)](https://github.com/Uniswap/uniswap-v3-sdk/actions?query=workflow%3A%22Unit+Tests%22)
[![Lint](https://github.com/Uniswap/uniswap-v3-sdk/workflows/Lint/badge.svg)](https://github.com/Uniswap/uniswap-v3-sdk/actions?query=workflow%3ALint)
[![npm version](https://img.shields.io/npm/v/@uniswap/v3-sdk/latest.svg)](https://www.npmjs.com/package/@uniswap/v3-sdk/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@uniswap/v3-sdk/latest.svg)](https://bundlephobia.com/result?p=@uniswap/v3-sdk@latest)

In-depth documentation on this SDK is available at [uniswap.org](https://docs.uniswap.org/).
npm package: @hiteshlala/mandelbrot-julia
Description: A Mandelbrot and Julia set fractal image generator.
Author: Hitesh Lala
Latest version: 0.1.6

<h1 align="center"> Mandelbrot / Julia Set Fractal Generator </h1>

<p align="center">
  <img src="pics/mandel.jpg" alt="mandelbrot" > 
  <img src="pics/julia.jpg" alt="julia" > 
</p>

<p align="center">
  <b >A tool for generating Mandelbrot and Julia set fractal images.</b>
</p>

<hr>


## Installation

```
  npm install @hiteshlala/mandelbrot-julia
```


## Usage


The simplest case: 

```
  const { createConfigs, Julia, Mandelbrot } = require( '@hiteshlala/mandelbrot-julia' );

  async function draw() {
    try {
      console.log( '\nGenerate Julia' )
      const jconf = createConfigs( './julia.jpg' );
      const julia = new Julia( jconf );
      await julia.create();

      console.log( '\nGenerate Mandelbrot')
      const mconf = createConfigs( './mandel.jpg' );
      const mandel = new Mandelbrot( mconf );
      await mandel.create();

      console.log( '\nDone' )

    }
    catch( e ) {
      console.log( e.message || e );
    }
  }

  draw();

```

This generates julia.jpg and mandel.jpg in the current working folder using default values.


## Customize

Adjusting the view window:

```
  const mconf = createConfigs( './mandel.jpg' );

  mconf.minX = -2.1;
  mconf.maxX = 0.5;
  mconf.minY = -1;
  mconf.maxY = 1;

  const mandel = new Mandelbrot( mconf );
  await mandel.create();
```


Adjusting the image resolution:

```
  const mconf = createConfigs( './mandel.jpg' );

  mconf.width = 300;
  mconf.height = 200;

  const mandel = new Mandelbrot( mconf );
  await mandel.create();
```


Adjusting the number of iterations:

```
  const mconf = createConfigs( './mandel.jpg' );

  mconf.iterations = 300;

  const mandel = new Mandelbrot( mconf );
  await mandel.create();
```


Change the Z constant for Julia:

```
  const mconf = createConfigs( './mandel.jpg' );

  mconf.c = { r: 0.1, i: -0.5 };

  const mandel = new Mandelbrot( mconf );
  await mandel.create();
```


Create a different color pallete:

```
  const { generateColors, createConfigs, Mandelbrot } = require( '@hiteshlala/mandelbrot-julia' );

  // uses tinygradient package to create a continuous gradient of colors
  const colors = generateColors(
    // array of colors to traverse in gradient
    [ 
      { r: 64, g: 224, b: 208 },
      { r: 255, g: 140, b: 0 },
      { r: 255, g: 0, b: 128},
      { r: 0, g: 0, b: 0 }
    ], 
    // number of steps to have in gradient
    50   
  );

  const mconf = createConfigs( './mandel.jpg' );

  mconf.colors = colors;

  const mandel = new Mandelbrot( mconf );
  await mandel.create();
```


The Mandelbrot image at the top of the page was created using a default config adjusted to:

```
  mconf.minX = -2.1;
  mconf.maxX = 0.5;
  mconf.minY = -1;
  mconf.maxY = 1;
  mconf.width = 300;
  mconf.height = 200;
```