open-index/open-npm huggingface dataset:
npm package: @shell-mcp/mcp-lite
Description: MCP server for persistent shell sessions — zero config, one command. Works with Claude Desktop, Cursor, Windsurf, Zed, and any MCP client.
Latest version: 0.3.1

# @shell-mcp/mcp-lite

Give your AI a real terminal. One command. Zero config.

**Works with Claude Desktop · Cursor · Windsurf · Zed · any MCP client**

## Install

```bash
npx -y @shell-mcp/mcp-lite --init
```

Auto-detects your installed MCP clients and configures them. Restart your client. Done.

### Manual setup

Add to your MCP client config:

```json
{
  "mcpServers": {
    "shell-mcp": {
      "command": "npx",
      "args": ["-y", "@shell-mcp/mcp-lite"]
    }
  }
}
```

## What you get

**5 tools** — lean by design:

- **`run_command`** — The workhorse. Run any command with persistent state. Git, npm, ls, curl — anything.
- **`write_file`** — Create/write files reliably (shell can't handle multiline content well)
- **`read_file`** — Read files without encoding issues
- **`get_audit_log`** — View command history
- **`get_safety_config`** — View safety rules (read-only)

## Safety built in

Destructive commands are blocked before they reach the shell. Risky commands run with warnings. Every command is logged to an audit trail. Customize with `SHELL_MCP_BLOCKLIST`, `SHELL_MCP_ALLOWLIST`, and `SHELL_MCP_DEFAULT_DENY`.

## Smart timeout

Commands auto-extend while producing output. Only times out after 15s of silence or 5 minutes total.

## Config

All optional — works with zero configuration.

| Variable | Default | Description |
|----------|---------|-------------|
| `SHELL_MCP_CWD` | cwd | Working directory |
| `SHELL_MCP_SHELL` | auto | Force shell (e.g. `powershell.exe`) |
| `SHELL_MCP_MAX_SESSIONS` | `10` | Max sessions |
| `SHELL_MCP_TIMEOUT` | `1800000` | Session idle timeout (ms) |
| `SHELL_MCP_BLOCKLIST` | built-in | Extra blocked patterns |
| `SHELL_MCP_ALLOWLIST` | — | Only allow these patterns |
| `SHELL_MCP_DEFAULT_DENY` | `false` | Block everything not in allowlist |
| `SHELL_MCP_AUDIT` | `true` | Enable audit logging |

## Cross-platform

macOS (zsh) · Linux (bash) · Windows (PowerShell). Zero native dependencies.

## License

MIT — [github.com/psdlabs/shell-mcp](https://github.com/psdlabs/shell-mcp)
npm package: @shellicar/build-azure-local-settings
Description: Build plugin that loads Azure local.settings.json with Key Vault reference resolution for non-Azure-Functions apps.
Author: Stephen Hellicar
Latest version: 1.0.0

# @shellicar/build-azure-local-settings

> Build plugin that loads Azure `local.settings.json` with Key Vault reference resolution for non-Azure-Functions apps.

## Installation & Quick Start

```sh
npm i --save-dev @shellicar/build-azure-local-settings
```

```sh
pnpm add -D @shellicar/build-azure-local-settings
```

```ts
// tsup.config.ts
import plugin from '@shellicar/build-azure-local-settings/esbuild';
import { defineConfig } from 'tsup';

export default defineConfig({
  esbuildPlugins: [
    plugin({
      mainModule: './src/main.ts',
    }),
  ],
});
```

```ts
// build.ts (esbuild)
import plugin from '@shellicar/build-azure-local-settings/esbuild';

await build({
  bundle: true,
  plugins: [
    plugin({
      mainModule: './src/main.ts',
    }),
  ],
});
```

## Documentation

For full documentation, visit [the GitHub repository](https://github.com/shellicar/build-azure-local-settings).
npm package: @shellicar/build-clean
Description: Build plugin that automatically cleans unused files from output directories.
Author: Stephen Hellicar
Latest version: 1.3.2

# @shellicar/build-clean

Build plugin that automatically cleans unused files from output directories.

## Installation & Quick Start

```sh
pnpm add -D @shellicar/build-clean
```

## Quick Example

```ts
// esbuild
import cleanPlugin from '@shellicar/build-clean/esbuild'

await build({
  plugins: [cleanPlugin({ destructive: true })]
})
```

```ts
// tsup.config.ts
import cleanPlugin from '@shellicar/build-clean/esbuild'

export default defineConfig({
  clean: false,
  esbuildPlugins: [cleanPlugin({ destructive: true })]
})
```

## Documentation

For full documentation, examples, and configuration options, visit the [GitHub repository](https://github.com/shellicar/build-clean).
npm package: @shellicar/build-graphql
Description: Build plugin that loads GraphQL files and makes them importable via a virtual typedefs module.
Author: Stephen Hellicar
Latest version: 1.4.3

# @shellicar/build-graphql

> Build plugin that loads GraphQL files and makes them available through a virtual module import.

## Installation & Quick Start

```sh
npm i --save @shellicar/build-graphql
```

```sh
pnpm add @shellicar/build-graphql
```

```ts
// build.ts
import GraphQLPlugin from '@shellicar/build-graphql/esbuild'

await build({
  // other options
  plugins: [
    GraphQLPlugin({ 
      globPattern: 'src/**/*.graphql'
    })
  ]
})
```

```ts
// vite.config.ts
import GraphQLPlugin from '@shellicar/build-graphql/vite'

export default defineConfig({
  // other options
  plugins: [
    GraphQLPlugin({ 
      globPattern: 'src/**/*.graphql'
    })
  ],
});
```

```ts
// main.ts
import typedefs from '@shellicar/build-graphql/typedefs'
```

## Documentation

For full documentation, visit [the GitHub repository](https://github.com/shellicar/build-graphql).
npm package: @shellicar/build-version
Description: Build plugin that calculates and exposes version information through a virtual module import.
Author: Stephen Hellicar
Latest version: 1.3.6

# @shellicar/build-version

> Build plugin that calculates and exposes version information through a virtual module import.

## Installation & Quick Start

```sh
npm i --save @shellicar/build-version
```

```sh
pnpm add @shellicar/build-version
```

```ts
// vite.config.ts
import VersionPlugin from '@shellicar/build-version/vite'

export default defineConfig({
  plugins: [
    VersionPlugin({})
  ]
})
```

```ts
// main.ts
import version from '@shellicar/build-version/version'
```

## Documentation

For full documentation, visit [here](https://github.com/shellicar/build-version).
npm package: @shellicar/core-config
Description: A library for securely handling sensitive configuration values like connection strings, URLs, and secrets.
Author: Stephen Hellicar
Latest version: 2.1.4

# @shellicar/core-config

> A library for securely handling sensitive configuration values like connection strings, URLs, and secrets.

[![npm package](https://img.shields.io/npm/v/@shellicar/core-config.svg)](https://npmjs.com/package/@shellicar/core-config)
[![build status](https://github.com/shellicar/core-config/actions/workflows/node.js.yml/badge.svg)](https://github.com/shellicar/core-config/actions/workflows/node.js.yml)

## Installation & Quick Start

```sh
npm i --save @shellicar/core-config
```

```sh
pnpm add @shellicar/core-config
```

```ts
import { createFactory } from '@shellicar/core-config';

const factory = createFactory();

console.log(factory.string('myPassword123'));
console.log(factory.connectionString('Server=myserver.uri;Password=myPassword123'));
console.log(factory.url(new URL('http://myuser:myPassword123@myserver.uri')));
```

## Documentation

For full documentation, visit [here](https://github.com/shellicar/core-config).
npm package: @shellicar/core-di
Description: A basic dependency injection library
Author: Stephen Hellicar
Latest version: 3.1.6

# @shellicar/core-di

> A basic dependency injection library for TypeScript

## Installation & Quick Start

```sh
pnpm add @shellicar/core-di
```

## Quick Example

```ts
import { createServiceCollection } from '@shellicar/core-di';

abstract class IAbstract {}
class Concrete implements IAbstract {}

const services = createServiceCollection();
services.register(IAbstract).to(Concrete);
const provider = services.buildProvider();
const svc = provider.resolve(IAbstract);
```

## Documentation

For full documentation, visit the [GitHub repository](https://github.com/shellicar/core-di).
npm package: @shellicar/cosmos-query-builder
Description: A type-safe query builder for Azure Cosmos DB for NoSQL
Author: Stephen Hellicar
Latest version: 1.1.1

# @shellicar/cosmos-query-builder

> A type-safe query builder for [Azure Cosmos DB for NoSQL](https://docs.microsoft.com/en-us/azure/cosmos-db/nosql/)

> **Note**: This library is for Azure Cosmos DB for NoSQL (formerly SQL API). For MongoDB API, see [Azure Cosmos DB for MongoDB](https://docs.microsoft.com/en-us/azure/cosmos-db/mongodb/).

## Installation & Quick Start

```sh
npm i --save @shellicar/cosmos-query-builder
```

```sh
pnpm add @shellicar/cosmos-query-builder
```

## Quick Example

```ts
import { createCosmosQueryBuilder, SortDirection } from '@shellicar/cosmos-query-builder';

const builder = createCosmosQueryBuilder<Person>();

builder.where('type', 'eq', 'Person');
builder.where('age', 'gt', 18);
builder.orderBy('created', SortDirection.Desc);
builder.limit(50);

const results = await builder.getAll(container);
```

For a complete working example, see [examples/simple/src/main.ts](../../examples/simple/src/main.ts).

## Documentation

For full documentation, visit the [GitHub repository](https://github.com/shellicar/cosmos-query-builder).
npm package: @shellicar/graphql-codegen-treeshake
Description: A graphql-codegen preset that tree-shakes unused types from TypeScript output
Author: Stephen Hellicar
Latest version: 1.0.0

# @shellicar/graphql-codegen-treeshake

> A graphql-codegen preset that tree-shakes unused types from TypeScript output

## Installation

```sh
pnpm add -D @shellicar/graphql-codegen-treeshake
```

## Quick Example

```ts
// codegen.ts
import { preset } from '@shellicar/graphql-codegen-treeshake';
import type { CodegenConfig } from '@graphql-codegen/cli';

const config: CodegenConfig = {
  schema: 'src/**/*.graphql',
  documents: ['src/**/requests.ts'],
  generates: {
    'src/lib/graphql/': {
      preset,
      presetConfig: {
        fragmentMasking: false,
      },
    },
  },
};

export default config;
```

## Documentation

For full documentation, visit the [GitHub repository](https://github.com/shellicar/graphql-codegen-treeshake).
npm package: @shellicar/svelte-adapter-azure-functions
Description: Svelte adapter for Azure Function Apps
Author: Stephen Hellicar
Latest version: 1.0.3

# @shellicar/svelte-adapter-azure-functions

> A [SvelteKit adapter](https://kit.svelte.dev/docs/adapters) that builds your app into an Azure Function.

## Installation & Quick Start

```sh
npm i --save @shellicar/svelte-adapter-azure-functions
```

```sh
pnpm add @shellicar/svelte-adapter-azure-functions
```

```js
import adapter from '@shellicar/svelte-adapter-azure-functions';

export default {
  kit: {
    adapter: adapter()
  }
};
```

## Documentation

For full documentation, visit [here](https://github.com/shellicar/svelte-adapter-azure-functions).
npm package: @shellicar/ui-shadcn
Description: Svelte 5 UI component library built on shadcn-svelte and Tailwind CSS
Author: Stephen Hellicar
Latest version: 1.0.5

# @shellicar/ui-shadcn

Svelte UI component library based on shadcn.

## Installation

```sh
npm i --save @shellicar/ui-shadcn
```

```sh
pnpm add @shellicar/ui-shadcn
```
npm package: @shellicar/winston-azure-application-insights
Description: Azure Application Insights transport for Winston
Author: Stephen Hellicar
Latest version: 6.0.4

# @shellicar/winston-azure-application-insights

An [Azure Application Insights](https://azure.microsoft.com/en-us/services/application-insights/) transport for [Winston](https://github.com/winstonjs/winston) logging library

## Installation & Quick Start

```sh
npm install @shellicar/winston-azure-application-insights
```

## Quick Example

```typescript
import { createWinstonLogger, ApplicationInsightsVersion } from '@shellicar/winston-azure-application-insights';
import applicationinsights from 'applicationinsights';

applicationinsights.setup().start();

const logger = createWinstonLogger({
  insights: {
    version: ApplicationInsightsVersion.V3,
    client: applicationinsights.defaultClient
  },
});

logger.info('Hello World');
logger.error('Something went wrong', new Error('Database connection failed'));
```

## Documentation

For full documentation, visit the [GitHub repository](https://github.com/shellicar/winston-azure-application-insights).
npm package: @shellming/vite-ui
Description: A modern UI component library built with Vite
Latest version: 0.0.4

# Vite UI

A modern UI component library built with Vite and React.

## Installation

```bash
npm install vite-ui
# or
yarn add vite-ui
# or
pnpm add vite-ui
```

## Usage

```jsx
import { Button } from 'vite-ui';

function App() {
  return (
    <Button>Click me</Button>
  );
}
```

## Features

- 🚀 Built with Vite
- 📦 TypeScript support
- 🎨 Modern design
- ⚡️ Lightweight and performant

## License

MIT

# Vite + TSX Web Components

这是一个使用 **TSX 配合 Vite** 开发 Web Components 的示例项目。该项目展示了如何在不依赖 React、Vue 等框架的情况下，利用 TSX 语法开发原生的 Web Components。

## 🚀 特性

- **无框架依赖**：直接使用 Web 标准，没有额外的运行时依赖
- **TypeScript 类型安全**：全面的类型支持，提高开发体验
- **TSX 语法**：享受声明式编程的简洁和可读性
- **Shadow DOM 封装**：真正的样式和结构隔离
- **现代化构建工具**：基于 Vite 的快速开发和构建

## 🛠️ 技术栈

- **TypeScript**：提供静态类型检查
- **TSX**：提供声明式 UI 描述语法
- **Web Components**：原生组件化方案
- **Vite**：快速的开发服务器和构建工具

## 📦 组件实现

项目包含两个基础组件示例：

- **Button 按钮组件**：支持多种样式变体和事件处理
- **Card 卡片组件**：支持头部、内容和底部插槽

## 🏗️ 项目结构

```
vite-ui/
├── src/                  # 源代码目录
│   ├── components/       # Web Components 组件
│   │   ├── Button.tsx    # 按钮组件
│   │   └── Card.tsx      # 卡片组件
│   ├── jsx-runtime.ts    # JSX 工厂函数实现
│   ├── jsx.d.ts          # JSX 类型定义
│   ├── index.tsx         # 应用入口
│   └── style.css         # 全局样式
├── index.html            # HTML 入口
├── vite.config.ts        # Vite 配置
├── tsconfig.json         # TypeScript 配置
└── package.json          # 依赖和脚本
```

## 🚦 开始使用

1. 克隆项目
2. 安装依赖：`npm install`
3. 运行开发服务器：`npm run dev`
4. 构建生产版本：`npm run build`

## 📚 开发自定义组件

要创建新的 Web Component，请按照以下步骤：

1. 在 `src/components/` 目录下创建新的 TSX 文件
2. 使用 JSX 工厂函数 `h` 创建 DOM 元素
3. 创建继承自 `HTMLElement` 的类，并在 Shadow DOM 中渲染 JSX 组件
4. 使用 `customElements.define()` 注册组件
5. 在 `src/index.tsx` 中导入组件

## 🤔 为什么用 TSX 开发 Web Components？

- **简洁的描述性语法**：比手动操作 DOM 更直观
- **类型安全**：利用 TypeScript 提供的静态类型检查
- **开发体验**：熟悉 React 的开发者可以无缝过渡
- **无运行时依赖**：编译后是原生 DOM 操作，不需要额外框架 


组件设计遵循以下原则：
1. 使用插槽实现内容灵活性
2. 提供合理的默认样式
3. 支持暗/亮模式切换
4. 响应式设计适配不同屏幕尺寸
5. 使用语义化的HTML标签并通过is属性扩展，提高SEO和可访问性
npm package: @shellmonk/rsvk
Description: Support anti-corruption protests in Serbia by adding rsvk to your website
Author: Srdjan Djordjevic
Latest version: 0.0.6

<h1 align="center">
    <a href="https://github.com/shellmonk/rsvk">
    <img src="./.github/assets/banner.jpg">
    </a>
    <br />
    rsvk (Ruke Su Vam Krvave)
</h1>

## What is rsvk

rsvk (Ruke Su Vam Krvave) is single JS overlay you can add to your website to support [anti-corruption protests in Serbia](https://en.wikipedia.org/wiki/2024%E2%80%932025_Serbian_anti-corruption_protests).

Corruption of the ruling party killed 15 people and injured 2 more in Novi Sad on November 1st, 2024, when canopy of the Novi Sad railway station collapsed.

Help us fight the corrupt system and spread the word.

Overlay will be visible on your website from 11:52 to 12:07 CEST.

## Usage

Just add

```html
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@shellmonk/rsvk@0.0.6/dist/rsvk.min.js"></script>
```

to your website.

## Known bugs

## License

This project is licensed under the [MIT License](http://opensource.org/licenses/MIT).
npm package: @shellraining/theme
Description: shellRaining's blog theme
Author: shellRaining
Latest version: 1.0.1

# shellRaining's blog theme

![blog light theme](https://2f0f3db.webp.li/2025/03/blog_day.jpeg)

![blog dark theme](https://2f0f3db.webp.li/2025/03/blog_night.jpeg)

## 特性

1. 性能极佳：lighthouse 四项全部满分，LCP 仅需 0.4s
2. 自定义字体：可以任意设置自己需要的字体，主题会自动进行子集化工作，无需担心引入字体过大
3. 拓展 markdown 语法：新增 math、sup、sub、mark、mark、taskList 语法
4. viewer.js 图片预览：可以在文章页面放大预览
5. 完善的类型支持：主题提供了完善的类型支持，可以在编辑器中获得智能提示
6. 文章编辑历史：通过将 git 提交历史信息注入文章中，可以查看文章的编辑历史
7. 完善的主题配色：博客提供了亮暗两种配色，并对主题做了多种优化

## 安装使用

```bash
ni @shellraining-blog/theme # 将 ni 替换为你喜欢的包管理器
```

现在 `.vitepress/theme/index.ts` 中添加下面代码引入主题：

```typescript
import shellRainingBlogTheme from "@shellraining-blog/theme";
import type { Theme } from "vitepress";

export default {
  extends: shellRainingBlogTheme,
} satisfies Theme;
```

然后你可以在 `.vitepress/config.ts` 中这样修改主题配置

```typescript
import { defineConfigWithTheme } from "vitepress";
import { shellRainingBlogConfig } from "@shellraining-blog/theme/config";
import type { ShellRainingBlogThemeConfig } from "@shellraining-blog/theme/config";

export default defineConfigWithTheme<ShellRainingBlogThemeConfig>({
  extends: shellRainingBlogConfig,
  // 你自己的配置...
});
```