open-index/open-npm huggingface dataset:
npm package: @memo28/types
Description: type helper
Author: hooks_28
Latest version: 1.1.8

<!--
 * @Author: 邱狮杰
 * @Date: 2023-01-30 17:47:47
 * @LastEditTime: 2023-03-04 22:12:45
 * @Description: 
 * @FilePath: /memo/packages/types/README.md
-->
# `@memo28/types`

- 基本类型
  
```typescript
 type int = number;
 type bool = boolean;
 type str = string;
 type obj = object;
 /**
 * @description 指定obj的value类型
 */
 type objWithValue<T> = { [key: string]: T };
```


- 函数类型

```ts
/**
 * @description define normal function type
 */
export declare type fn<P extends any[] = any, R = unknown> = (...args: P) => R

/**
 * @description define promise function type
 */
export declare type promiseFn<P extends any[] = any, R = unknown> = (...args: P) => Promise<R>

/**
 * @description merge define normal function and define promise function type
 */
export declare type mergeFnWithPromiseFn<T = unknown, P extends any[] = any, isP extends boolean | undefined = undefined> = isP extends undefined
  ? fn<P, T> | promiseFn<P, T>
  : isP extends true
  ? promiseFn<P, T>
  : fn<P, T>

```


- 对象类型

```ts
/**
 * @description 获取对象的所有key
 */
export type getObjValues<V = object> = V[keyof V]
```


- 插件类型

```ts
/**
 * @description 自动装配,通常使用在读写配置场景中
 */
export interface AutomaticAssembly<T = object, R = unknown> {
    config: T | undefined
    readConfiguration(res?: T): this
    getAssemblyCompleted(): R
}

```

- 验证类型

```ts
export declare type Expect<T extends true> = T

export declare type IsFalse<T extends false> = T

/**
 * @description 0 extends 1 永远返回false, (0 不可分配给 1), 因此0 extends (1 & T) 也不会满足,因为 ( 1 & T) 比 1 的类型范围 更窄 .
 * 但是当T 是 any 时 , 由于 any 是故意不健全的类型(顶级类型), 并且充当了几乎所有其他类型的超类型和子类型, 因此比较any时其他类型会被忽略 就变成了 0 extends any , 自然返回 true.
 * 需要注意的时这仅仅适用 strictNullChecks 启用 (默认启用)
 * @see https://stackoverflow.com/questions/49927523/disallow-call-with-any/49928360#49928360
 */
export declare type IsAny<T> = 0 extends 1 & T ? true : false

/**
 * @description 这是一个创造性的使用条件类型的可分配行规则的解决方案. 它依赖于在未知时被延迟推导的条件类型T ，延迟类型条件的可分配依赖于内部 isTypeIdenticalTo 检查,这仅是用于 1. 两种条件类型具有相同的约束 2. 两个条件的真假分支是同一类型
 * @see https://github.com/Microsoft/TypeScript/issues/27024
 */
export declare type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? true : false

export declare type Extends<E, V> = E extends V ? true : false
```
npm package: @memo28/vitebuild
Description: vite config helper
Author: hooks_28
Latest version: 3.0.20

<!--
 * @Author: 邱狮杰
 * @Date: 2023-01-30 17:25:04
 * @LastEditTime: 2023-03-10 10:47:04
 * @Description:
 * @FilePath: /memo/packages/viteBuild/README.md
-->

# `@memo28/vitebuild`

## `useag`

```ts
// in vue.js
export default defineConfig(new Engine().setTechnologyStack('vue').addPlugins().getBuildConfig())
// in react.js
export default defineConfig(new Engine().setTechnologyStack('react').addPlugins().getBuildConfig())
```

## `setTechnologyStack`

定义技术栈返回指定技术栈默认插件

- `react`

  - `@vitejs/plugin-legacy`
  - `@vitejs/plugin-react-swc`
  - `vite-plugin-print-urls`

- `vue`
  - `@vitejs/plugin-legacy`
  - `vite-plugin-print-urls`
  - `@vitejs/plugin-vue`
  - `@vitejs/plugin-vue-jsx`
  - `unplugin-vue-macros/vite`

```ts
new Engine().setTechnologyStack('react').getBuildConfig()
```

## `addPlugins`

添加插件助手

```ts
new Engine()
  .setTechnologyStack('react')
  .addPlugins(plugins => {
    plugins.addAlias(config).addSassDts(config)
  })
  .getBuildConfig({ root: '', plugins: [] })
```

- 可配置的插件有

  - [unplugin-auto-import](https://www.npmjs.com/package/unplugin-auto-import)

  - [BrowserSync](https://browsersync.io/)

  - [vite-plugin-pwa](https://www.npmjs.com/package/vite-plugin-pwa)

  - [vite-plugin-sass-dts](https://www.npmjs.com/package/vite-plugin-sass-dts)

## `getBuildConfig`

返回所有配置参数

```ts
new Engine().setTechnologyStack('react').getBuildConfig({ root: '' })
```
npm package: @memoaicompany/mcp
Description: MCP Server para integrar Claude com MemoAI - Memória persistente para assistentes de IA
Author: MemoAI
Latest version: 1.0.2

# @memoaicompany/mcp

🧠 **MCP Server oficial do MemoAI** - Integre memória persistente ao Claude e outros assistentes de IA.

## O que é o MemoAI?

MemoAI é um sistema de memória persistente para assistentes de IA. Ele permite que o Claude (e outros LLMs) lembrem informações entre sessões, eliminando a necessidade de re-explicar contexto a cada conversa.

## Instalação

### Opção 1: Via npx (recomendado)

```bash
npx @memoaicompany/mcp
```

### Opção 2: Instalação global

```bash
npm install -g @memoaicompany/mcp
```

## Configuração com Claude Desktop

### 1. Obtenha sua API Key

Acesse [https://memoai.company/api-keys](https://memoai.company/api-keys) e crie uma nova API key.

### 2. Configure o Claude Desktop

Edite o arquivo de configuração do Claude Desktop:

**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`  
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`  
**Linux:** `~/.config/Claude/claude_desktop_config.json`

Adicione a configuração do MemoAI:

```json
{
  "mcpServers": {
    "memoai": {
      "command": "npx",
      "args": ["-y", "@memoaicompany/mcp"],
      "env": {
        "MEMOAI_API_KEY": "sua_api_key_aqui"
      }
    }
  }
}
```

### 3. Reinicie o Claude Desktop

Feche e abra novamente o Claude Desktop para aplicar as configurações.

## Ferramentas Disponíveis

Uma vez configurado, Claude terá acesso às seguintes ferramentas:

| Ferramenta | Descrição |
|------------|-----------|
| `add_memory` | Adiciona uma nova memória ao sistema |
| `search_memories` | Busca memórias semanticamente similares |
| `get_memories` | Lista memórias de um projeto |
| `list_projects` | Lista todos os projetos |
| `create_project` | Cria um novo projeto |
| `connect_memories` | Conecta duas memórias (grafo de conhecimento) |

## Exemplos de Uso

Após configurar, você pode conversar naturalmente com Claude:

> "Lembre que meu nome é João e trabalho com desenvolvimento web"

> "Crie um projeto chamado 'Meu App' para guardar informações sobre meu projeto"

> "O que você sabe sobre mim?"

## Requisitos

- Node.js 18 ou superior
- Conta no MemoAI (plano Pro necessário para MCP)
- Claude Desktop ou qualquer cliente MCP compatível

## Links

- 📦 NPM: [https://www.npmjs.com/package/@memoaicompany/mcp](https://www.npmjs.com/package/@memoaicompany/mcp)
- 🌐 Website: [https://memoai.company](https://memoai.company)
- 📖 Documentação: [https://memoai.company/docs](https://memoai.company/docs)

## Suporte

- 📧 Email: matheus@bestwayiis.com

## Licença

MIT © MemoAI