open-index/open-npm huggingface dataset:
npm package: @komandero/numeros-a-letras
Description: Convierte números a su representación en letras (español). Soporta unidades y decimales.
Latest version: 2.0.0

# @komandero/numeros-a-letras

Librería TypeScript sin dependencias que convierte números a su representación en letras (español). Soporta unidades y decimales con pluralización automática.

## Instalación

```bash
npm install @komandero/numeros-a-letras
```

## Uso

### `numberToWords`

```typescript
import { numberToWords } from '@komandero/numeros-a-letras';

numberToWords(100);
// => "CIEN"

numberToWords(538.18, { unit: 'EURO', decimal: 'CENTIMO' });
// => "QUINIENTOS TREINTA Y OCHO EUROS CON DIECIOCHO CENTIMOS"

numberToWords(54793.49, { unit: 'EURO', decimal: 'CENTIMO' });
// => "CINCUENTA Y CUATRO MIL SETECIENTOS NOVENTA Y TRES EUROS CON CUARENTA Y NUEVE CENTIMOS"

numberToWords(1.01, { unit: 'EURO', decimal: 'CENTIMO' });
// => "UN EURO CON UN CENTIMO"

numberToWords(21, { unit: 'EURO' });
// => "VEINTIÚN EUROS"

numberToWords(100, { uppercase: false });
// => "cien"
```

### `numberToEuros`

Wrapper preconfigurado con EURO/CENTIMO:

```typescript
import { numberToEuros } from '@komandero/numeros-a-letras';

numberToEuros(538.18);
// => "QUINIENTOS TREINTA Y OCHO EUROS CON DIECIOCHO CENTIMOS"

numberToEuros(1.01);
// => "UN EURO CON UN CENTIMO"
```

## API

### `numberToWords(value: number, options?: NumberToWordsOptions): string`

| Parámetro           | Tipo      | Default | Descripción                                                                 |
| ------------------- | --------- | ------- | --------------------------------------------------------------------------- |
| `value`             | `number`  | —       | Número a convertir (0 a 999,999,999,999). Soporta hasta 2 decimales.       |
| `options.unit`      | `string`  | `""`    | Unidad en singular (ej: `"EURO"`). Se pluraliza automáticamente con "S".    |
| `options.decimal`   | `string`  | `""`    | Nombre del decimal en singular (ej: `"CENTIMO"`). Se pluraliza con "S".     |
| `options.uppercase` | `boolean` | `true`  | Si es `true`, el resultado se devuelve en mayúsculas.                       |

### `numberToEuros(value: number, options?: Omit<NumberToWordsOptions, 'unit' | 'decimal'>): string`

Igual que `numberToWords` pero con `unit: 'EURO'` y `decimal: 'CENTIMO'` ya configurados.

## Características

- Sin dependencias
- Tildes correctas (DIECISÉIS, VEINTIÚN, MILLÓN, etc.)
- Apócope automática: "veintiuno" -> "veintiún" antes de sustantivo, "uno" -> "un"
- Pluralización automática de unidades
- Soporte de 0 a 999,999,999,999
- Decimales de hasta 2 dígitos

## Desarrollo

```bash
npm install
npm test
npm run build
```

## Licencia

MIT
npm package: @komandero/validadores
Description: Validadores comunes para aplicaciones españolas: NIF, NIE, CIF, IBAN, teléfono, email, código postal y más.
Latest version: 2.0.0

# @komandero/validadores

Validadores comunes para aplicaciones españolas: NIF, NIE, CIF, IBAN, teléfono, email, código postal y más.

Zero dependencies. TypeScript. Mensajes de error en español.

## Instalación

```bash
npm install @komandero/validadores
```

## Uso

```typescript
import {
  validateNIF,
  validateNIE,
  validateCIF,
  validateDocumento,
  validateIBAN,
  validateTelefono,
  validateEmail,
  validateCodigoPostal,
  getTipoTitular,
} from '@komandero/validadores';
```

Todos los validadores devuelven `ValidationResult`:

```typescript
interface ValidationResult {
  valid: boolean;
  error?: string; // Mensaje de error en español
}
```

## Validadores

### NIF / DNI

```typescript
validateNIF('12345678Z'); // { valid: true }
validateNIF('12345678A'); // { valid: false, error: 'La letra del NIF no es correcta...' }
```

### NIE

```typescript
validateNIE('X1234567L'); // { valid: true }
```

### CIF

```typescript
validateCIF('A58818501'); // { valid: true }
```

### Documento universal (NIF / NIE / CIF)

Detecta automáticamente el tipo y valida:

```typescript
validateDocumento('12345678Z'); // NIF
validateDocumento('X1234567L'); // NIE
validateDocumento('A58818501'); // CIF
```

### IBAN

```typescript
validateIBAN('ES91 2100 0418 4502 0005 1332'); // { valid: true }
```

Soporta cualquier país. Para IBANs españoles valida que tengan exactamente 24 caracteres.

### Teléfono

```typescript
validateTelefono('612345678');       // { valid: true }
validateTelefono('+34 612 345 678'); // { valid: true }
validateTelefono('0034612345678');   // { valid: true }
```

Acepta prefijo +34 / 0034, espacios, guiones, puntos y paréntesis.

### Email

```typescript
validateEmail('user@example.com'); // { valid: true }
```

### Código postal

```typescript
validateCodigoPostal('28001'); // { valid: true }  (Madrid)
validateCodigoPostal('08001'); // { valid: true }  (Barcelona)
validateCodigoPostal('00001'); // { valid: false } (provincia inválida)
```

Provincias válidas: 01–52.

## Utilidades

### getTipoTitular — Persona o empresa

Dado un NIF, NIE o CIF, valida el documento y clasifica al titular:

```typescript
getTipoTitular('12345678Z'); // { valid: true, tipo: 'persona' }
getTipoTitular('X1234567L'); // { valid: true, tipo: 'persona' }
getTipoTitular('A58818501'); // { valid: true, tipo: 'empresa' }
```

Si el documento es inválido, devuelve `valid: false` con el error correspondiente (sin campo `tipo`).

## Desarrollo

```bash
npm test          # Ejecutar tests
npm run build     # Compilar TypeScript
npm run docs      # Generar llms.txt desde JSDoc
npm run test:watch # Tests en modo watch
```

## Licencia

MIT
npm package: @komandr/mcp-server
Description: MCP server that connects AI agents to the Komandr task management platform
Author: Komandr
Latest version: 0.7.0

# @komandr/mcp-server

MCP server that connects AI agents to the Komandr task management platform.

## Installation

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

Or run directly with npx:

```bash
npx @komandr/mcp-server
```

## Configuration

Set the following environment variables:

| Variable | Required | Description |
|---|---|---|
| `KOMANDR_API_KEY` | Yes | Agent API key (starts with `km_...`). Generate one in the Komandr dashboard. |
| `KOMANDR_BASE_URL` | No | API base URL. Defaults to `https://komandr.vercel.app`. |

## MCP Client Configuration

Add this to your MCP client config (e.g. `claude_desktop_config.json`, `.cursor/mcp.json`, or `.claude.json`):

```json
{
  "mcpServers": {
    "komandr": {
      "command": "npx",
      "args": ["-y", "@komandr/mcp-server"],
      "env": {
        "KOMANDR_API_KEY": "km_your_api_key_here"
      }
    }
  }
}
```

## Available Tools

### komandr_status

Get the current agent profile (name, type, status, capabilities) from Komandr.

- **Input**: none
- **Returns**: Agent profile object

### komandr_next_task

Fetch the next available task from the Komandr board.

- **Input**: none
- **Returns**: Task details or "No tasks available"

### komandr_accept_task

Accept a task by ID. Returns the enriched task with spec and constitution context.

- **Input**: `task_id` (string)
- **Returns**: Enriched task object

### komandr_report_progress

Report progress on a task.

- **Input**: `task_id` (string), `progress` (number 0-100), `message` (string, optional)
- **Returns**: Updated task object

### komandr_submit_task

Submit a completed task with results.

- **Input**: `task_id` (string), `summary` (string), `result` (object), `artifacts` (array, optional)
- **Returns**: Submission confirmation and task object

### komandr_fail_task

Report that a task has failed.

- **Input**: `task_id` (string), `error_type` (string), `message` (string), `recoverable` (boolean)
- **Returns**: Updated task object

### komandr_ask_question

Ask a question about a task.

- **Input**: `task_id` (string), `question` (string)
- **Returns**: Answer with confidence score
npm package: @komastudio/plugin-sdk
Description: Koma 插件开发 SDK - 提供类型定义和全局变量声明
Author: Koma Team
Latest version: 1.0.3

# @koma/plugin-sdk

Koma 插件开发 SDK，提供类型定义和全局变量声明。

## 安装

```bash
npm install @koma/plugin-sdk
```

## 使用

```typescript
import type {
  PluginAPI,
  PluginManifest,
  ProviderDefinition,
  TTIProvider,
  ITVProvider,
} from '@koma/plugin-sdk';

// 使用全局变量（类型安全）
const React = window.React;
const { Button, Form } = window.antd;
const { SaveOutlined } = window['@ant-design/icons'];
```

## 类型导出

### 插件 API
- `PluginAPI` - 插件 API 接口
- `PluginManifest` - 插件清单
- `PluginExports` - 插件导出接口
- `InstalledPlugin` - 已安装插件

### Provider
- `ProviderDefinition` - Provider 定义
- `ProviderContext` - Provider 上下文
- `ChannelKind` - 渠道类型 ('tti' | 'itv' | 'tts')
- `PollingConfig` - 轮询配置

### TTI Provider
- `TTIProvider` - 文生图 Provider 接口
- `TTIOptions` - 生成选项
- `ImageResult` - 图像结果

### ITV Provider
- `ITVProvider` - 图生视频 Provider 接口
- `ITVOptions` - 生成选项
- `VideoResult` - 视频结果
- `ProgressInfo` - 进度信息

## 全局变量

SDK 声明了以下全局变量（由宿主应用注入）：

```typescript
window.React        // React 库
window.antd         // Ant Design 组件库
window['@ant-design/icons']  // Ant Design 图标库
```

## 配置持久化

使用 `channels.getProviderConfig` / `channels.updateProviderConfig` 管理配置：

```typescript
// 读取配置
const config = await api.channels.getProviderConfig('my-provider');

// 保存配置
await api.channels.updateProviderConfig('my-provider', newConfig);
```

## License

MIT
npm package: @komastusio/plugin-sdk
Description: Koma 插件开发 SDK - 提供类型定义和全局变量声明
Author: Koma Team
Latest version: 1.0.3

# @koma/plugin-sdk

Koma 插件开发 SDK，提供类型定义和全局变量声明。

## 安装

```bash
npm install @koma/plugin-sdk
```

## 使用

```typescript
import type {
  PluginAPI,
  PluginManifest,
  ProviderDefinition,
  TTIProvider,
  ITVProvider,
} from '@koma/plugin-sdk';

// 使用全局变量（类型安全）
const React = window.React;
const { Button, Form } = window.antd;
const { SaveOutlined } = window['@ant-design/icons'];
```

## 类型导出

### 插件 API
- `PluginAPI` - 插件 API 接口
- `PluginManifest` - 插件清单
- `PluginExports` - 插件导出接口
- `InstalledPlugin` - 已安装插件

### Provider
- `ProviderDefinition` - Provider 定义
- `ProviderContext` - Provider 上下文
- `ChannelKind` - 渠道类型 ('tti' | 'itv' | 'tts')
- `PollingConfig` - 轮询配置

### TTI Provider
- `TTIProvider` - 文生图 Provider 接口
- `TTIOptions` - 生成选项
- `ImageResult` - 图像结果

### ITV Provider
- `ITVProvider` - 图生视频 Provider 接口
- `ITVOptions` - 生成选项
- `VideoResult` - 视频结果
- `ProgressInfo` - 进度信息

## 全局变量

SDK 声明了以下全局变量（由宿主应用注入）：

```typescript
window.React        // React 库
window.antd         // Ant Design 组件库
window['@ant-design/icons']  // Ant Design 图标库
```

## 配置持久化

使用 `channels.getProviderConfig` / `channels.updateProviderConfig` 管理配置：

```typescript
// 读取配置
const config = await api.channels.getProviderConfig('my-provider');

// 保存配置
await api.channels.updateProviderConfig('my-provider', newConfig);
```

## License

MIT