@pcircle/memesh 4.0.3 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.de.md +227 -53
- package/README.es.md +230 -56
- package/README.fr.md +230 -56
- package/README.ja.md +229 -55
- package/README.ko.md +230 -56
- package/README.md +54 -3
- package/README.pt.md +230 -56
- package/README.th.md +230 -56
- package/README.vi.md +228 -54
- package/README.zh-CN.md +230 -56
- package/README.zh-TW.md +228 -54
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +6 -10
- package/dist/core/config.js.map +1 -1
- package/dist/core/doctor.d.ts +40 -0
- package/dist/core/doctor.d.ts.map +1 -0
- package/dist/core/doctor.js +217 -0
- package/dist/core/doctor.js.map +1 -0
- package/dist/core/embedder.js.map +1 -1
- package/dist/core/schema-export.d.ts.map +1 -1
- package/dist/core/schema-export.js +34 -0
- package/dist/core/schema-export.js.map +1 -1
- package/dist/core/skill-usage-log.d.ts +11 -0
- package/dist/core/skill-usage-log.d.ts.map +1 -0
- package/dist/core/skill-usage-log.js +121 -0
- package/dist/core/skill-usage-log.js.map +1 -0
- package/dist/core/verifier.d.ts +37 -0
- package/dist/core/verifier.d.ts.map +1 -0
- package/dist/core/verifier.js +142 -0
- package/dist/core/verifier.js.map +1 -0
- package/dist/transports/cli/cli.js +115 -5
- package/dist/transports/cli/cli.js.map +1 -1
- package/dist/transports/http/server.d.ts.map +1 -1
- package/dist/transports/http/server.js +16 -1
- package/dist/transports/http/server.js.map +1 -1
- package/dist/transports/mcp/handlers.d.ts +93 -0
- package/dist/transports/mcp/handlers.d.ts.map +1 -1
- package/dist/transports/mcp/handlers.js +51 -1
- package/dist/transports/mcp/handlers.js.map +1 -1
- package/dist/transports/schemas.d.ts +28 -0
- package/dist/transports/schemas.d.ts.map +1 -1
- package/dist/transports/schemas.js +25 -0
- package/dist/transports/schemas.js.map +1 -1
- package/hooks/hooks.json +10 -0
- package/package.json +5 -3
- package/plugin.json +1 -1
- package/scripts/hooks/pre-bash-orchestration-nudge.js +150 -0
- package/scripts/hooks/pre-edit-recall.js +0 -0
- package/scripts/hooks/session-start.js +55 -2
- package/skills/agentic-orchestration/SKILL.md +399 -0
package/README.pt.md
CHANGED
|
@@ -1,110 +1,284 @@
|
|
|
1
|
+
<!-- translated from README.md @ ab9d25f8d9cb7c78c4cc271717709e2efb4bac76 -->
|
|
2
|
+
<!-- DO NOT edit this file by hand. The maintainer regenerates it from README.md via a private toolkit script (see internal docs). Manual edits will be overwritten on next sync. -->
|
|
3
|
+
|
|
1
4
|
🌐 [English](README.md) | [繁體中文](README.zh-TW.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [한국어](README.ko.md) | [Português](README.pt.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [Tiếng Việt](README.vi.md) | [Español](README.es.md) | [ภาษาไทย](README.th.md)
|
|
2
5
|
|
|
3
6
|
<p align="center">
|
|
4
7
|
<h1 align="center">MeMesh LLM Memory</h1>
|
|
5
8
|
<p align="center">
|
|
6
|
-
<strong>
|
|
7
|
-
Um arquivo SQLite. Sem Docker. Sem
|
|
9
|
+
<strong>Memória local para Claude Code e agentes de codificação MCP.</strong><br />
|
|
10
|
+
Um arquivo SQLite. Sem Docker. Sem dependência de nuvem.
|
|
11
|
+
</p>
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://www.npmjs.com/package/@pcircle/memesh"><img src="https://img.shields.io/npm/v/@pcircle/memesh?style=flat-square&color=3b82f6&label=npm" alt="npm" /></a>
|
|
14
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square" alt="MIT" /></a>
|
|
15
|
+
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D20-22c55e?style=flat-square" alt="Node" /></a>
|
|
16
|
+
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-a855f7?style=flat-square" alt="MCP" /></a>
|
|
8
17
|
</p>
|
|
9
18
|
</p>
|
|
10
19
|
|
|
11
|
-
|
|
20
|
+
---
|
|
12
21
|
|
|
13
|
-
##
|
|
22
|
+
## O Problema
|
|
14
23
|
|
|
15
|
-
|
|
24
|
+
Seu agente de código esquece tudo entre sessões. Toda decisão arquitetônica, correção de bug, teste que falhou e lição conquistada na marra precisa ser re-explicada. Claude Code sempre começa do zero, redescobre restrições antigas e queima contexto em coisas que já deveria saber.
|
|
16
25
|
|
|
17
|
-
**
|
|
26
|
+
**MeMesh oferece memória local persistente, pesquisável e evolutiva para agentes de código.**
|
|
18
27
|
|
|
19
|
-
Este pacote
|
|
28
|
+
Este pacote é a camada de memória local da família de produtos MeMesh. É propositalmente pequeno e open-source: instale via npm, mantenha sua memória em `~/.memesh/knowledge-graph.db` e conecte ao Claude Code ou qualquer cliente compatível com MCP. Produtos de workspace hospedado e sistemas operacionais corporativos devem se manter separados do roadmap e README deste pacote.
|
|
20
29
|
|
|
21
|
-
|
|
30
|
+
---
|
|
22
31
|
|
|
23
|
-
|
|
32
|
+
## Comece em 60 Segundos
|
|
33
|
+
|
|
34
|
+
### Passo 1: Instale
|
|
24
35
|
|
|
25
36
|
```bash
|
|
26
37
|
npm install -g @pcircle/memesh
|
|
27
38
|
```
|
|
28
39
|
|
|
29
|
-
### 2
|
|
40
|
+
### Passo 2: Armazene uma decisão
|
|
30
41
|
|
|
31
42
|
```bash
|
|
32
43
|
memesh remember --name "auth-decision" --type "decision" --obs "Use OAuth 2.0 with PKCE"
|
|
33
44
|
```
|
|
34
45
|
|
|
35
|
-
### 3
|
|
46
|
+
### Passo 3: Recupere depois
|
|
36
47
|
|
|
37
48
|
```bash
|
|
38
49
|
memesh recall "login security"
|
|
39
|
-
# →
|
|
50
|
+
# → Encontra "OAuth 2.0 with PKCE" mesmo com palavras de busca diferentes
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**É só isso.** MeMesh já está lembrando e recuperando entre sessões.
|
|
54
|
+
|
|
55
|
+
Se quiser verificar a instalação e toda a configuração local de ponta a ponta:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
memesh doctor
|
|
40
59
|
```
|
|
41
60
|
|
|
42
|
-
Abra o dashboard:
|
|
61
|
+
Abra o dashboard para explorar sua memória:
|
|
43
62
|
|
|
44
63
|
```bash
|
|
45
64
|
memesh
|
|
46
65
|
```
|
|
47
66
|
|
|
48
|
-
|
|
67
|
+
<p align="center">
|
|
68
|
+
<img src="docs/images/dashboard-search.png" alt="MeMesh Search — encontre qualquer memória instantaneamente" width="100%" />
|
|
69
|
+
</p>
|
|
70
|
+
|
|
71
|
+
<p align="center">
|
|
72
|
+
<img src="docs/images/dashboard-analytics.png" alt="MeMesh Analytics — score de saúde, timeline, padrões, cobertura de conhecimento" width="100%" />
|
|
73
|
+
</p>
|
|
74
|
+
|
|
75
|
+
<p align="center">
|
|
76
|
+
<img src="docs/images/dashboard-graph.png" alt="MeMesh Graph — grafo de conhecimento interativo com filtros por tipo e modo ego" width="100%" />
|
|
77
|
+
</p>
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Para Quem é Isso?
|
|
82
|
+
|
|
83
|
+
| Se você é... | MeMesh te ajuda a... |
|
|
84
|
+
|---------------|---------------------|
|
|
85
|
+
| **Um dev usando Claude Code** | Recuperar automaticamente decisões de projeto, lições por arquivo e falhas passadas enquanto trabalha |
|
|
86
|
+
| **Um power user de agentes de código** | Compartilhar uma camada de memória local entre ferramentas compatíveis com MCP |
|
|
87
|
+
| **Uma equipe experimentando workflows de IA para código** | Exportar/importar conhecimento de projeto sem precisar de infraestrutura hospedada |
|
|
88
|
+
| **Um desenvolvedor de agentes** | Adicionar memória local via MCP, HTTP, CLI ou o SDK Python |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Pensado Primeiro para Agentes de Código
|
|
93
|
+
|
|
94
|
+
<table>
|
|
95
|
+
<tr>
|
|
96
|
+
<td width="33%" align="center">
|
|
97
|
+
|
|
98
|
+
**Claude Code / Desktop**
|
|
99
|
+
```bash
|
|
100
|
+
memesh-mcp
|
|
101
|
+
```
|
|
102
|
+
Ferramentas MCP + hooks do Claude Code
|
|
103
|
+
|
|
104
|
+
</td>
|
|
105
|
+
<td width="33%" align="center">
|
|
106
|
+
|
|
107
|
+
**Qualquer cliente HTTP**
|
|
108
|
+
```bash
|
|
109
|
+
curl localhost:3737/v1/recall \
|
|
110
|
+
-H "Content-Type: application/json" \
|
|
111
|
+
-d '{"query":"auth"}'
|
|
112
|
+
```
|
|
113
|
+
`memesh serve` (REST API)
|
|
114
|
+
|
|
115
|
+
</td>
|
|
116
|
+
<td width="33%" align="center">
|
|
117
|
+
|
|
118
|
+
**Qualquer LLM (formato OpenAI)**
|
|
119
|
+
```bash
|
|
120
|
+
memesh export-schema \
|
|
121
|
+
--format openai
|
|
122
|
+
```
|
|
123
|
+
Cole as ferramentas em qualquer chamada de API
|
|
124
|
+
|
|
125
|
+
</td>
|
|
126
|
+
</tr>
|
|
127
|
+
</table>
|
|
128
|
+
|
|
129
|
+
---
|
|
49
130
|
|
|
50
|
-
|
|
51
|
-
- Usuários avançados que querem compartilhar a mesma memória local entre agentes MCP
|
|
52
|
-
- Pequenas equipes AI-native que querem trocar conhecimento via export / import
|
|
53
|
-
- Desenvolvedores de agents que querem integrar memória local via CLI, HTTP ou MCP
|
|
131
|
+
## Por Que Não OpenMemory, Cursor Memories, Mem0 Ou Zep?
|
|
54
132
|
|
|
55
|
-
|
|
133
|
+
| | **MeMesh** | OpenMemory | Cursor Memories | Mem0 | Zep / Graphiti |
|
|
134
|
+
|---|---|---|---|---|---|
|
|
135
|
+
| **Melhor para** | Memória local para agentes de código | Memória local/cross-client MCP | Memória de projeto nativa do Cursor | Memória gerenciada de app/agent | Grafos de conhecimento temporal |
|
|
136
|
+
| **Forma de instalar** | `npm install -g @pcircle/memesh` | Fluxo de app local/server | Integrado no Cursor | Cloud API / SDK / MCP | Setup de serviço/framework |
|
|
137
|
+
| **Armazenamento** | Um arquivo SQLite local | Stack de memória local | Regras/memórias gerenciadas pelo Cursor | Stack hospedada ou self-hosted | Banco de dados de grafo |
|
|
138
|
+
| **Requer nuvem** | Não | Não em modo local | Depende de conta Cursor/configurações | Sim para plataforma | Geralmente sim/self-hosted |
|
|
139
|
+
| **Hooks Claude Code** | Primeira classe | Ferramentas MCP | Não | Ferramentas MCP | Não específico para Claude Code |
|
|
140
|
+
| **Dashboard** | Integrado | Integrado | Configurações do Cursor | Dashboard da plataforma | Ferramentas de plataforma/grafo |
|
|
141
|
+
| **Trade-off** | Cunha local simples, não em escala corporativa | Footprint de app local mais amplo | Preso ao Cursor | Plataforma gerenciada forte, menos local-first | Modelo de grafo forte, setup mais pesado |
|
|
56
142
|
|
|
57
|
-
|
|
58
|
-
- Instalação leve: `npm install -g` e pronto
|
|
59
|
-
- Integração direta: suporta CLI, HTTP e MCP
|
|
60
|
-
- Bom encaixe com Claude Code: hooks ajudam a trazer contexto no fluxo de trabalho
|
|
61
|
-
- Transparência: o dashboard permite ver e organizar a memória
|
|
62
|
-
- Limite de confiança mais seguro: memórias importadas continuam pesquisáveis, mas não entram automaticamente nos hooks do Claude sem revisão ou novo salvamento local
|
|
143
|
+
**MeMesh troca infraestrutura gerenciada em escala corporativa por setup local instantâneo, armazenamento inspeionável e hooks de workflow para agentes de código.**
|
|
63
144
|
|
|
64
|
-
|
|
145
|
+
---
|
|
65
146
|
|
|
66
|
-
|
|
147
|
+
## O Que Acontece Automaticamente no Claude Code
|
|
67
148
|
|
|
68
|
-
|
|
69
|
-
- antes de editar arquivos, busca memórias relacionadas ao arquivo ou ao projeto
|
|
70
|
-
- depois de `git commit`, registra o que foi alterado
|
|
71
|
-
- no fim da sessão, organiza correções, erros e lessons learned
|
|
72
|
-
- antes do compact de contexto, salva o que não deveria se perder
|
|
149
|
+
Você não precisa lembrar tudo manualmente. MeMesh tem **6 hooks** que capturam e injetam conhecimento enquanto você trabalha:
|
|
73
150
|
|
|
74
|
-
|
|
151
|
+
| Quando | O que MeMesh faz |
|
|
152
|
+
|------|------------------|
|
|
153
|
+
| **Início de cada sessão** | Carrega suas memórias mais relevantes + alertas proativos de lições passadas + banner de orquestração de agentes |
|
|
154
|
+
| **Antes de editar arquivos** | Recupera memórias vinculadas ao arquivo ou projeto antes de Claude escrever código |
|
|
155
|
+
| **Antes de comandos bash** | Incentiva Claude a despachar comandos de alta verificabilidade (test, build, lint, migrate, deploy, benchmark) como agentes de background |
|
|
156
|
+
| **Depois de cada `git commit`** | Registra o que você mudou, com estatísticas de diff |
|
|
157
|
+
| **Quando Claude para** | Captura arquivos editados, erros corrigidos e gera automaticamente lições estruturadas de falhas |
|
|
158
|
+
| **Antes da compactação de contexto** | Salva conhecimento antes de ser perdido nos limites de contexto |
|
|
75
159
|
|
|
76
|
-
|
|
160
|
+
> **Desative quando quiser:** `export MEMESH_AUTO_CAPTURE=false`
|
|
77
161
|
|
|
78
|
-
|
|
79
|
-
- Browse: listar memórias
|
|
80
|
-
- Analytics: acompanhar saúde e tendências
|
|
81
|
-
- Graph: ver relações de conhecimento
|
|
82
|
-
- Lessons: revisar lições aprendidas
|
|
83
|
-
- Manage: arquivar e restaurar memórias
|
|
84
|
-
- Settings: configurar provedor de LLM e idioma
|
|
162
|
+
---
|
|
85
163
|
|
|
86
|
-
##
|
|
164
|
+
## Dashboard
|
|
87
165
|
|
|
88
|
-
|
|
166
|
+
7 abas, 11 idiomas, zero dependências externas. Acesse em `http://localhost:3737/dashboard` quando o servidor estiver rodando.
|
|
89
167
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
-
|
|
168
|
+
| Aba | O que você vê |
|
|
169
|
+
|-----|-------------|
|
|
170
|
+
| **Search** | Busca full-text + similaridade vetorial em todas as memórias |
|
|
171
|
+
| **Browse** | Lista paginada de todas as entidades com archive/restore |
|
|
172
|
+
| **Analytics** | Memory Health Score (0-100), timeline de 30 dias, métricas de valor, cobertura de conhecimento, sugestões de limpeza, seus padrões de trabalho |
|
|
173
|
+
| **Graph** | Grafo de conhecimento interativo force-directed com filtros por tipo, busca, modo ego, heatmap de recência |
|
|
174
|
+
| **Lessons** | Lições estruturadas de falhas passadas (erro, causa raiz, fix, prevenção) |
|
|
175
|
+
| **Manage** | Archive e restore de entidades |
|
|
176
|
+
| **Settings** | Config do provedor LLM, seletor de idioma instantâneo |
|
|
93
177
|
|
|
94
|
-
|
|
178
|
+
---
|
|
95
179
|
|
|
96
|
-
##
|
|
180
|
+
## Funcionalidades Inteligentes
|
|
97
181
|
|
|
98
|
-
|
|
99
|
-
- Guia de integrações: [docs/platforms/README.md](docs/platforms/README.md)
|
|
100
|
-
- Referência de API: [docs/api/API_REFERENCE.md](docs/api/API_REFERENCE.md)
|
|
182
|
+
**🧠 Busca Inteligente** — Busque "login security" e encontre memórias sobre "OAuth PKCE". MeMesh expande queries com termos relacionados usando seu LLM configurado.
|
|
101
183
|
|
|
102
|
-
|
|
184
|
+
**📊 Ranking Pontuado** — Resultados ranqueados por relevância (30%) + recência (25%) + frequência (15%) + confiança (15%) + impacto de recall (10%) + validade temporal (5%).
|
|
185
|
+
|
|
186
|
+
**🔄 Evolução de Conhecimento** — Decisões mudam. `forget` arquiva memórias antigas (nunca deleta). Relações `supersedes` vinculam antigas → novas. Sua IA sempre vê a versão mais recente.
|
|
187
|
+
|
|
188
|
+
**⚠️ Detecção de Conflitos** — Se você tem duas memórias que se contradizem, MeMesh te avisa.
|
|
189
|
+
|
|
190
|
+
**📦 Compartilhamento em Equipe** — `memesh export > team-knowledge.json` → compartilhe com sua equipe → `memesh import team-knowledge.json`
|
|
191
|
+
Bundles importados permanecem pesquisáveis, mas MeMesh não injeta automaticamente memórias importadas nos hooks do Claude até você revisar ou re-armazená-las localmente.
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Exemplos de Uso
|
|
196
|
+
|
|
197
|
+
> "MeMesh lembrou que escolhemos PKCE em vez de implicit flow há três semanas. Quando pedi ao Claude sobre auth de novo, ele já sabia — sem need de re-explicar."
|
|
198
|
+
> — **Dev solo, construindo um SaaS**
|
|
199
|
+
|
|
200
|
+
> "Exportamos a memória da equipe toda sexta e importamos segunda. O Claude de todo mundo começa a semana sabendo o que a equipe aprendeu na semana passada."
|
|
201
|
+
> — **Startup com 3 pessoas, base de conhecimento compartilhada**
|
|
202
|
+
|
|
203
|
+
> "O dashboard mostrou que 90% das minhas memórias eram logs de sessão auto-gerados. Comecei a usar `remember` deliberadamente para decisões arquitetônicas. Game changer."
|
|
204
|
+
> — **Dev que descobriu a aba Analytics**
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Desbloqueie Smart Mode (Opcional)
|
|
209
|
+
|
|
210
|
+
MeMesh funciona offline por padrão. Adicione uma chave de API de LLM apenas se quiser query expansion, extração mais inteligente e compressão:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
memesh config set llm.provider anthropic
|
|
214
|
+
memesh config set llm.api-key sk-ant-...
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Ou use a aba Settings do dashboard (setup visual):
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
memesh # abre dashboard → aba Settings
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
| | Level 0 (padrão) | Level 1 (Smart Mode) |
|
|
224
|
+
|---|---|---|
|
|
225
|
+
| **Busca** | Correspondência de keywords FTS5 | + query expansion de LLM (~97% recall) |
|
|
226
|
+
| **Auto-capture** | Padrões baseados em regras | + LLM extrai decisões & lições |
|
|
227
|
+
| **Compressão** | Não disponível | `consolidate` comprime memórias verbosas |
|
|
228
|
+
| **Custo** | Grátis, sem chave de API | ~$0.0001 por busca (Haiku) |
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Todas as 9 Ferramentas de Memória
|
|
233
|
+
|
|
234
|
+
| Ferramenta | O que faz |
|
|
235
|
+
|------|-------------|
|
|
236
|
+
| `remember` | Armazena conhecimento com observações, relações e tags |
|
|
237
|
+
| `recall` | Busca inteligente com scoring multi-fator e query expansion com LLM |
|
|
238
|
+
| `forget` | Soft-archive (nunca deleta) ou remove observações específicas |
|
|
239
|
+
| `consolidate` | Compressão com LLM de memórias verbosas |
|
|
240
|
+
| `export` | Compartilha memórias como JSON entre projetos ou membros da equipe |
|
|
241
|
+
| `import` | Importa memórias com estratégias de merge (skip / overwrite / append) |
|
|
242
|
+
| `learn` | Registra lições estruturadas de erros (erro, causa raiz, fix, prevenção) |
|
|
243
|
+
| `user_patterns` | Analisa seus padrões de trabalho — schedule, ferramentas, pontos fortes, áreas de aprendizado |
|
|
244
|
+
| `verify_agent_work` | Persiste um relatório de verificação para trabalho de background-agent; reality-checks mudanças de arquivo declaradas contra `git diff` |
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Arquitetura
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
┌─────────────────┐
|
|
252
|
+
│ Core Engine │
|
|
253
|
+
│ (8 operations) │
|
|
254
|
+
└────────┬────────┘
|
|
255
|
+
┌─────────────────┼─────────────────┐
|
|
256
|
+
│ │ │
|
|
257
|
+
CLI (memesh) HTTP API (serve) MCP (memesh-mcp)
|
|
258
|
+
│ │ │
|
|
259
|
+
└─────────────────┼─────────────────┘
|
|
260
|
+
│
|
|
261
|
+
SQLite + FTS5 + sqlite-vec
|
|
262
|
+
(~/.memesh/knowledge-graph.db)
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Core é agnóstico a framework. A mesma lógica roda de terminal, HTTP ou MCP.
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Contribuindo
|
|
103
270
|
|
|
104
271
|
```bash
|
|
105
272
|
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
|
|
106
|
-
cd memesh-llm-memory
|
|
107
|
-
npm
|
|
108
|
-
npm run
|
|
109
|
-
npm test
|
|
273
|
+
cd memesh-llm-memory && npm install && npm run build
|
|
274
|
+
npm test # 489 tests
|
|
275
|
+
npm run test:e2e-dashboard
|
|
110
276
|
```
|
|
277
|
+
|
|
278
|
+
Dashboard: `cd dashboard && npm install && npm run dev`
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
<p align="center">
|
|
283
|
+
<strong>MIT</strong> — Feito por <a href="https://pcircle.ai">PCIRCLE AI</a>
|
|
284
|
+
</p>
|