minder-cli 0.2.0__tar.gz → 0.2.2__tar.gz
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.
- minder_cli-0.2.2/PKG-INFO +119 -0
- minder_cli-0.2.2/README.md +83 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/pyproject.toml +3 -3
- minder_cli-0.2.0/PKG-INFO +0 -318
- minder_cli-0.2.0/README.md +0 -282
- {minder_cli-0.2.0 → minder_cli-0.2.2}/.gitignore +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/LICENSE +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/api/routers/prompts.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/application/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/application/admin/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/application/admin/dto.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/application/admin/jobs.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/application/admin/use_cases.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/auth/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/auth/context.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/auth/middleware.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/auth/principal.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/auth/rate_limiter.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/auth/rbac.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/auth/service.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/bootstrap/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/bootstrap/providers.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/bootstrap/transport.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/cache/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/cache/providers.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/chunking/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/chunking/code_splitter.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/chunking/splitter.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/cli.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/config.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/continuity.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/dev.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/embedding/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/embedding/base.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/embedding/local.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/embedding/openai.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/edges.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/executor.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/graph.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/nodes/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/nodes/evaluator.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/nodes/guard.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/nodes/llm.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/nodes/planning.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/nodes/reasoning.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/nodes/reranker.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/nodes/retriever.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/nodes/verification.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/nodes/workflow_planner.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/runtime.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/graph/state.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/llm/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/llm/base.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/llm/local.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/llm/openai.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/base.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/client.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/document.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/error.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/graph.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/history.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/job.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/prompt.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/repository.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/rule.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/session.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/skill.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/user.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/models/workflow.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/observability/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/observability/audit.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/observability/logging.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/observability/metrics.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/observability/tracing.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/http/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/http/admin/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/http/admin/api.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/http/admin/context.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/http/admin/dashboard.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/http/admin/jobs.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/http/admin/memories.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/http/admin/prompts.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/http/admin/routes.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/http/admin/runtime.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/http/admin/search.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/presentation/http/admin/skills.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/prompts/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/prompts/formatter.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/resources/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/retrieval/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/retrieval/hybrid.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/retrieval/mmr.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/retrieval/multi_hop.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/runtime.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/server.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/document.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/error.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/feedback.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/graph.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/history.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/interfaces.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/milvus/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/milvus/client.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/milvus/collections.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/milvus/vector_store.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/mongodb/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/mongodb/client.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/mongodb/indexes.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/mongodb/operational_store.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/relational.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/repo_state.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/rule.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/store/vector.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/tools/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/tools/auth.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/tools/graph.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/tools/ingest.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/tools/memory.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/tools/query.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/tools/registry.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/tools/repo_scanner.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/tools/search.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/tools/session.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/tools/skills.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/tools/workflow.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/transport/__init__.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/transport/base.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/transport/sse.py +0 -0
- {minder_cli-0.2.0 → minder_cli-0.2.2}/src/minder/transport/stdio.py +0 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: minder-cli
|
|
3
|
+
Version: 0.2.2
|
|
4
|
+
Summary: Minder CLI is the command-line interface for the Minder self-hosted MCP platform.
|
|
5
|
+
Project-URL: Homepage, https://github.com/hiimtrung/minder
|
|
6
|
+
Project-URL: Repository, https://github.com/hiimtrung/minder
|
|
7
|
+
Project-URL: Documentation, https://github.com/hiimtrung/minder/tree/main/docs
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Keywords: ai,cli,code-search,mcp,workflow
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Environment :: Console
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
16
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
17
|
+
Requires-Python: >=3.14
|
|
18
|
+
Requires-Dist: fastapi>=0.136.0
|
|
19
|
+
Requires-Dist: httpx>=0.27.0
|
|
20
|
+
Provides-Extra: server
|
|
21
|
+
Requires-Dist: aiosqlite>=0.21.0; extra == 'server'
|
|
22
|
+
Requires-Dist: langgraph>=1.1.4; extra == 'server'
|
|
23
|
+
Requires-Dist: litellm>=1.83.1; extra == 'server'
|
|
24
|
+
Requires-Dist: llama-cpp-python>=0.3.20; extra == 'server'
|
|
25
|
+
Requires-Dist: mcp>=1.26.0; extra == 'server'
|
|
26
|
+
Requires-Dist: motor>=3.7.0; extra == 'server'
|
|
27
|
+
Requires-Dist: passlib[bcrypt]>=1.7.4; extra == 'server'
|
|
28
|
+
Requires-Dist: prometheus-client>=0.24.1; extra == 'server'
|
|
29
|
+
Requires-Dist: pydantic-settings[toml]>=2.13.1; extra == 'server'
|
|
30
|
+
Requires-Dist: pydantic>=2.12.5; extra == 'server'
|
|
31
|
+
Requires-Dist: pyjwt>=2.12.1; extra == 'server'
|
|
32
|
+
Requires-Dist: pymilvus>=2.5.0; extra == 'server'
|
|
33
|
+
Requires-Dist: redis[hiredis]>=6.0.0; extra == 'server'
|
|
34
|
+
Requires-Dist: sqlalchemy[asyncio]>=2.0.48; extra == 'server'
|
|
35
|
+
Description-Content-Type: text/markdown
|
|
36
|
+
|
|
37
|
+
# Minder CLI
|
|
38
|
+
|
|
39
|
+
[](https://pypi.org/project/minder-cli/)
|
|
40
|
+
[](https://opensource.org/licenses/Apache-2.0)
|
|
41
|
+
|
|
42
|
+
**Minder CLI** is the command-line interface for the Minder platform—a self-hosted MCP (Model Context Protocol) platform for repository-aware engineering intelligence.
|
|
43
|
+
|
|
44
|
+
## Features
|
|
45
|
+
|
|
46
|
+
- **IDE Integration**: Scaffold repository-local MCP assets for VS Code, Cursor, and Claude Code.
|
|
47
|
+
- **Repository Sync**: Auto-detect cross-repo dependencies and synchronize project knowledge.
|
|
48
|
+
- **Self-Management**: Check for updates and upgrade both CLI and Server components in place.
|
|
49
|
+
- **Unified Auth**: Simple login flow to connect your local development environment to your Minder Server.
|
|
50
|
+
|
|
51
|
+
## Installation
|
|
52
|
+
|
|
53
|
+
Install the CLI from PyPI using `uv` (recommended) or `pipx`:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
uv tool install minder-cli
|
|
57
|
+
# or
|
|
58
|
+
pipx install minder-cli
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Quick Start
|
|
62
|
+
|
|
63
|
+
### 1. Connect to your Minder Server
|
|
64
|
+
|
|
65
|
+
Once you have a [Minder Server](docs/minder-server.md) running, log in with your client key:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
minder login --client-key mkc_your_client_key --server-url http://localhost:8800/sse
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 2. Prepare your IDE
|
|
72
|
+
|
|
73
|
+
Set up MCP tools and instructions for your favorite editor:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# In your project root
|
|
77
|
+
minder install-ide --target vscode --target claude-code
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 3. Sync Repository
|
|
81
|
+
|
|
82
|
+
Index your code and documentation to enable semantic search and RAG tools:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
minder sync --repo-id <repository-uuid>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Available Tool Surface
|
|
89
|
+
|
|
90
|
+
When connected, Minder provides powerful tools to your AI agents:
|
|
91
|
+
|
|
92
|
+
| Tool | Description |
|
|
93
|
+
| --- | --- |
|
|
94
|
+
| `minder_query` | End-to-end RAG pipeline: retrieve + reason + verify |
|
|
95
|
+
| `minder_search_code` | Semantic code retrieval across indexed repositories |
|
|
96
|
+
| `minder_memory_recall` | Retrieve persisted memory entries |
|
|
97
|
+
| `minder_workflow_get` | Read current workflow state |
|
|
98
|
+
|
|
99
|
+
## Maintenance
|
|
100
|
+
|
|
101
|
+
Keep your tools up to date:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
minder check-update
|
|
105
|
+
minder self-update --component cli
|
|
106
|
+
minder self-update --component server
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Related Links
|
|
110
|
+
|
|
111
|
+
- [Development Workflow](docs/guides/development.md)
|
|
112
|
+
- [Minder Server Setup](docs/minder-server.md)
|
|
113
|
+
- [Admin & Client Onboarding](docs/guides/admin-client-onboarding.md)
|
|
114
|
+
- [Local Setup Guide](docs/guides/local-setup.md)
|
|
115
|
+
- [System Architecture](docs/system-design.md)
|
|
116
|
+
|
|
117
|
+
## License
|
|
118
|
+
|
|
119
|
+
Apache License 2.0. See [LICENSE](LICENSE) for details.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Minder CLI
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/minder-cli/)
|
|
4
|
+
[](https://opensource.org/licenses/Apache-2.0)
|
|
5
|
+
|
|
6
|
+
**Minder CLI** is the command-line interface for the Minder platform—a self-hosted MCP (Model Context Protocol) platform for repository-aware engineering intelligence.
|
|
7
|
+
|
|
8
|
+
## Features
|
|
9
|
+
|
|
10
|
+
- **IDE Integration**: Scaffold repository-local MCP assets for VS Code, Cursor, and Claude Code.
|
|
11
|
+
- **Repository Sync**: Auto-detect cross-repo dependencies and synchronize project knowledge.
|
|
12
|
+
- **Self-Management**: Check for updates and upgrade both CLI and Server components in place.
|
|
13
|
+
- **Unified Auth**: Simple login flow to connect your local development environment to your Minder Server.
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
Install the CLI from PyPI using `uv` (recommended) or `pipx`:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
uv tool install minder-cli
|
|
21
|
+
# or
|
|
22
|
+
pipx install minder-cli
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
### 1. Connect to your Minder Server
|
|
28
|
+
|
|
29
|
+
Once you have a [Minder Server](docs/minder-server.md) running, log in with your client key:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
minder login --client-key mkc_your_client_key --server-url http://localhost:8800/sse
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 2. Prepare your IDE
|
|
36
|
+
|
|
37
|
+
Set up MCP tools and instructions for your favorite editor:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# In your project root
|
|
41
|
+
minder install-ide --target vscode --target claude-code
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 3. Sync Repository
|
|
45
|
+
|
|
46
|
+
Index your code and documentation to enable semantic search and RAG tools:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
minder sync --repo-id <repository-uuid>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Available Tool Surface
|
|
53
|
+
|
|
54
|
+
When connected, Minder provides powerful tools to your AI agents:
|
|
55
|
+
|
|
56
|
+
| Tool | Description |
|
|
57
|
+
| --- | --- |
|
|
58
|
+
| `minder_query` | End-to-end RAG pipeline: retrieve + reason + verify |
|
|
59
|
+
| `minder_search_code` | Semantic code retrieval across indexed repositories |
|
|
60
|
+
| `minder_memory_recall` | Retrieve persisted memory entries |
|
|
61
|
+
| `minder_workflow_get` | Read current workflow state |
|
|
62
|
+
|
|
63
|
+
## Maintenance
|
|
64
|
+
|
|
65
|
+
Keep your tools up to date:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
minder check-update
|
|
69
|
+
minder self-update --component cli
|
|
70
|
+
minder self-update --component server
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Related Links
|
|
74
|
+
|
|
75
|
+
- [Development Workflow](docs/guides/development.md)
|
|
76
|
+
- [Minder Server Setup](docs/minder-server.md)
|
|
77
|
+
- [Admin & Client Onboarding](docs/guides/admin-client-onboarding.md)
|
|
78
|
+
- [Local Setup Guide](docs/guides/local-setup.md)
|
|
79
|
+
- [System Architecture](docs/system-design.md)
|
|
80
|
+
|
|
81
|
+
## License
|
|
82
|
+
|
|
83
|
+
Apache License 2.0. See [LICENSE](LICENSE) for details.
|
|
@@ -4,8 +4,8 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "minder-cli"
|
|
7
|
-
version = "0.2.
|
|
8
|
-
description = "Minder is
|
|
7
|
+
version = "0.2.2"
|
|
8
|
+
description = "Minder CLI is the command-line interface for the Minder self-hosted MCP platform."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.14"
|
|
11
11
|
keywords = ["mcp", "cli", "ai", "code-search", "workflow"]
|
|
@@ -13,7 +13,7 @@ classifiers = [
|
|
|
13
13
|
"Development Status :: 3 - Alpha",
|
|
14
14
|
"Environment :: Console",
|
|
15
15
|
"Intended Audience :: Developers",
|
|
16
|
-
"License :: OSI Approved ::
|
|
16
|
+
"License :: OSI Approved :: Apache Software License",
|
|
17
17
|
"Programming Language :: Python :: 3",
|
|
18
18
|
"Programming Language :: Python :: 3.14",
|
|
19
19
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
minder_cli-0.2.0/PKG-INFO
DELETED
|
@@ -1,318 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: minder-cli
|
|
3
|
-
Version: 0.2.0
|
|
4
|
-
Summary: Minder is an AI MCP server for manage your LLM flow development and memory of AI agent.
|
|
5
|
-
Project-URL: Homepage, https://github.com/hiimtrung/minder
|
|
6
|
-
Project-URL: Repository, https://github.com/hiimtrung/minder
|
|
7
|
-
Project-URL: Documentation, https://github.com/hiimtrung/minder/tree/main/docs
|
|
8
|
-
License-File: LICENSE
|
|
9
|
-
Keywords: ai,cli,code-search,mcp,workflow
|
|
10
|
-
Classifier: Development Status :: 3 - Alpha
|
|
11
|
-
Classifier: Environment :: Console
|
|
12
|
-
Classifier: Intended Audience :: Developers
|
|
13
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
-
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.14
|
|
16
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
17
|
-
Requires-Python: >=3.14
|
|
18
|
-
Requires-Dist: fastapi>=0.136.0
|
|
19
|
-
Requires-Dist: httpx>=0.27.0
|
|
20
|
-
Provides-Extra: server
|
|
21
|
-
Requires-Dist: aiosqlite>=0.21.0; extra == 'server'
|
|
22
|
-
Requires-Dist: langgraph>=1.1.4; extra == 'server'
|
|
23
|
-
Requires-Dist: litellm>=1.83.1; extra == 'server'
|
|
24
|
-
Requires-Dist: llama-cpp-python>=0.3.20; extra == 'server'
|
|
25
|
-
Requires-Dist: mcp>=1.26.0; extra == 'server'
|
|
26
|
-
Requires-Dist: motor>=3.7.0; extra == 'server'
|
|
27
|
-
Requires-Dist: passlib[bcrypt]>=1.7.4; extra == 'server'
|
|
28
|
-
Requires-Dist: prometheus-client>=0.24.1; extra == 'server'
|
|
29
|
-
Requires-Dist: pydantic-settings[toml]>=2.13.1; extra == 'server'
|
|
30
|
-
Requires-Dist: pydantic>=2.12.5; extra == 'server'
|
|
31
|
-
Requires-Dist: pyjwt>=2.12.1; extra == 'server'
|
|
32
|
-
Requires-Dist: pymilvus>=2.5.0; extra == 'server'
|
|
33
|
-
Requires-Dist: redis[hiredis]>=6.0.0; extra == 'server'
|
|
34
|
-
Requires-Dist: sqlalchemy[asyncio]>=2.0.48; extra == 'server'
|
|
35
|
-
Description-Content-Type: text/markdown
|
|
36
|
-
|
|
37
|
-
# Minder
|
|
38
|
-
|
|
39
|
-
<p align="center">
|
|
40
|
-
<img src="favicon.png" width="220" alt="Minder logo" />
|
|
41
|
-
</p>
|
|
42
|
-
|
|
43
|
-
<p align="center">
|
|
44
|
-
<strong>Self-hosted MCP platform for repo-aware engineering intelligence.</strong><br/>
|
|
45
|
-
Search smarter, govern workflows, persist memory, onboard clients, and run over <code>SSE</code> or <code>stdio</code>.
|
|
46
|
-
</p>
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## Why Minder
|
|
51
|
-
|
|
52
|
-
- Repository-aware retrieval across code, docs, and historical errors.
|
|
53
|
-
- Workflow governance that keeps delivery phases explicit and auditable.
|
|
54
|
-
- Persistent memory and session context for long-running engineering tasks.
|
|
55
|
-
- Built-in admin dashboard plus API-first client onboarding.
|
|
56
|
-
- Single platform for Codex, Copilot-style MCP clients, Claude Desktop, and CLI automation.
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Quick Start (Local in Minutes)
|
|
61
|
-
|
|
62
|
-
### 1) Download GGUF models
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
./scripts/download_models.sh
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Models are saved to `~/.minder/models`.
|
|
69
|
-
|
|
70
|
-
### 2) Prepare environment
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
cp .env.example .env
|
|
74
|
-
cp src/dashboard/.env.example src/dashboard/.env
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Default local layout:
|
|
78
|
-
- Minder API/Gateway: `http://localhost:8800`
|
|
79
|
-
- Dashboard dev server: `http://localhost:8808/dashboard`
|
|
80
|
-
|
|
81
|
-
### 3) Start infra services
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
docker compose -f docker/docker-compose.local.yml up -d
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
This starts MongoDB, Redis, Milvus Standalone (plus etcd + MinIO).
|
|
88
|
-
|
|
89
|
-
### 4) Run backend
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
PYTHONPATH=src UV_CACHE_DIR=.uv-cache uv run python -m minder.server
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### 5) Run dashboard (dev mode)
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
cd src/dashboard
|
|
99
|
-
bun install
|
|
100
|
-
bun run dev
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
Or build static assets for serving via Minder on `:8800`:
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
cd src/dashboard && bun run build
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### 6) Bootstrap first admin
|
|
110
|
-
|
|
111
|
-
Open [http://localhost:8800/dashboard/setup](http://localhost:8800/dashboard/setup) and create the first admin.
|
|
112
|
-
|
|
113
|
-
Minder returns the bootstrap API key (`mk_...`) exactly once. Save it immediately.
|
|
114
|
-
|
|
115
|
-
### 7) Sign in
|
|
116
|
-
|
|
117
|
-
Open [http://localhost:8800/dashboard/login](http://localhost:8800/dashboard/login) and authenticate with the `mk_...` key.
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
## System Architecture
|
|
122
|
-
|
|
123
|
-
```mermaid
|
|
124
|
-
flowchart TB
|
|
125
|
-
Browser["Browser Admin"] --> Gateway["Gateway :8800"]
|
|
126
|
-
MCP["Codex · Copilot · Claude Desktop · stdio"] --> Gateway
|
|
127
|
-
|
|
128
|
-
Gateway --> Dashboard["Astro Dashboard\\n/dashboard/*"]
|
|
129
|
-
Gateway --> AdminAPI["Admin HTTP\\n/v1/admin/*"]
|
|
130
|
-
Gateway --> AuthAPI["Token Exchange · Gateway Test\\n/v1/auth/* · /v1/gateway/*"]
|
|
131
|
-
Gateway --> MCPTools["MCP Tool Surface\\nSSE · stdio"]
|
|
132
|
-
|
|
133
|
-
AdminAPI & AuthAPI & MCPTools --> UseCases["Application Use Cases"]
|
|
134
|
-
|
|
135
|
-
UseCases --> Auth["Auth · RBAC · Rate Limiting"]
|
|
136
|
-
UseCases --> Services["Workflow · Memory · Session · Query"]
|
|
137
|
-
|
|
138
|
-
Services --> Mongo["MongoDB"]
|
|
139
|
-
Services --> Redis["Redis"]
|
|
140
|
-
Services --> Milvus["Milvus Standalone"]
|
|
141
|
-
Services --> LLM["Gemma GGUF\\nllama-cpp-python"]
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### Clean runtime layers
|
|
145
|
-
|
|
146
|
-
```text
|
|
147
|
-
Presentation -> src/minder/presentation/http/admin (HTTP routes, DTOs)
|
|
148
|
-
src/dashboard (Astro admin console)
|
|
149
|
-
Application -> src/minder/application/admin (use cases)
|
|
150
|
-
Domain -> src/minder/models (entities, value objects)
|
|
151
|
-
Infrastructure -> src/minder/store (MongoDB, Milvus, Redis adapters)
|
|
152
|
-
src/minder/auth (principals, middleware, rate limiter)
|
|
153
|
-
src/minder/graph (LangGraph pipeline, nodes)
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
### Runtime stack
|
|
157
|
-
|
|
158
|
-
| Service | Role | Default Port |
|
|
159
|
-
| --- | --- | --- |
|
|
160
|
-
| Minder API | MCP server, admin HTTP, token exchange | `8800` |
|
|
161
|
-
| Astro Dashboard | Admin console (dev standalone, prod proxied) | `8808` (dev) |
|
|
162
|
-
| MongoDB 7 | Users, clients, sessions | `27017` |
|
|
163
|
-
| Redis 7 | Cache, rate limiting, token sessions | `6379` |
|
|
164
|
-
| Milvus Standalone | Vector index for docs/code/errors | `19530` |
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## MCP Tool Surface
|
|
169
|
-
|
|
170
|
-
| Tool | Description |
|
|
171
|
-
| --- | --- |
|
|
172
|
-
| `minder_query` | End-to-end RAG pipeline: retrieve + reason + verify |
|
|
173
|
-
| `minder_search_code` | Semantic code retrieval across indexed repositories |
|
|
174
|
-
| `minder_search_errors` | Error retrieval with troubleshooting context |
|
|
175
|
-
| `minder_search` | General semantic search over project knowledge |
|
|
176
|
-
| `minder_memory_recall` | Retrieve persisted memory entries |
|
|
177
|
-
| `minder_workflow_get` | Read current workflow state |
|
|
178
|
-
| `minder_workflow_step` | Move workflow to the next step |
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## CLI Distribution
|
|
183
|
-
|
|
184
|
-
Install from PyPI:
|
|
185
|
-
|
|
186
|
-
```bash
|
|
187
|
-
uv tool install minder
|
|
188
|
-
# or
|
|
189
|
-
pipx install minder
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
Typical flow:
|
|
193
|
-
|
|
194
|
-
```bash
|
|
195
|
-
minder login --client-key mkc_your_client_key --server-url http://localhost:8800/sse
|
|
196
|
-
minder install-ide --target vscode --target claude-code
|
|
197
|
-
minder sync --repo-id <repository-uuid>
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
Highlights:
|
|
201
|
-
- `minder install-ide` scaffolds repo-local MCP/instruction assets for VS Code, Cursor, and Claude Code.
|
|
202
|
-
- `minder sync` auto-detects cross-repo `branch_relationships` via `.gitmodules` and optional `.minder/branch-topology.toml`.
|
|
203
|
-
|
|
204
|
-
Update commands:
|
|
205
|
-
|
|
206
|
-
```bash
|
|
207
|
-
minder check-update
|
|
208
|
-
minder self-update --component cli
|
|
209
|
-
minder self-update --component server
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
`self-update --component server` uses PowerShell installer on Windows and bash installer on macOS/Linux.
|
|
213
|
-
|
|
214
|
-
---
|
|
215
|
-
|
|
216
|
-
## Operator Playbooks
|
|
217
|
-
|
|
218
|
-
### Onboard an MCP client
|
|
219
|
-
|
|
220
|
-
1. Open **Client Registry** in dashboard.
|
|
221
|
-
2. Create client with name, slug, tool scopes, repo scopes.
|
|
222
|
-
3. Save the issued key (`mkc_...`) immediately (shown once).
|
|
223
|
-
4. Use the key via:
|
|
224
|
-
|
|
225
|
-
| Transport | Auth Mechanism |
|
|
226
|
-
| --- | --- |
|
|
227
|
-
| SSE | `X-Minder-Client-Key: mkc_...` header |
|
|
228
|
-
| stdio | `MINDER_CLIENT_API_KEY=mkc_...` env var |
|
|
229
|
-
| OAuth-style | `POST /v1/auth/token-exchange` with client key |
|
|
230
|
-
|
|
231
|
-
### Rotate or revoke key
|
|
232
|
-
|
|
233
|
-
From client detail page:
|
|
234
|
-
- **Rotate Key**: issues new key and invalidates old key.
|
|
235
|
-
- **Revoke**: permanently blocks client.
|
|
236
|
-
|
|
237
|
-
Both actions are audit logged.
|
|
238
|
-
|
|
239
|
-
### Recover admin access
|
|
240
|
-
|
|
241
|
-
```bash
|
|
242
|
-
PYTHONPATH=src UV_CACHE_DIR=.uv-cache uv run python scripts/reset_admin_api_key.py \
|
|
243
|
-
--username <admin-username>
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
### Production deployment
|
|
247
|
-
|
|
248
|
-
```bash
|
|
249
|
-
docker compose -f docker/docker-compose.yml up -d
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
Production topology runs `gateway`, `minder-api`, and `dashboard` behind a single public origin (`:8800`).
|
|
253
|
-
|
|
254
|
-
---
|
|
255
|
-
|
|
256
|
-
## Configuration
|
|
257
|
-
|
|
258
|
-
Config load order:
|
|
259
|
-
1. `minder.toml`
|
|
260
|
-
2. `MINDER_` environment overrides
|
|
261
|
-
|
|
262
|
-
Key variables:
|
|
263
|
-
|
|
264
|
-
| Variable | Default | Purpose |
|
|
265
|
-
| --- | --- | --- |
|
|
266
|
-
| `MINDER_SERVER__PORT` | `8800` | HTTP listen port |
|
|
267
|
-
| `MINDER_MONGODB__URI` | `mongodb://localhost:27017` | MongoDB URI |
|
|
268
|
-
| `MINDER_REDIS__URI` | `redis://localhost:6379/0` | Redis URI |
|
|
269
|
-
| `MINDER_VECTOR_STORE__URI` | `http://localhost:19530` | Milvus endpoint |
|
|
270
|
-
| `MINDER_LLM__MODEL_PATH` | `~/.minder/models/gemma-4-e2b-it-Q8_0.gguf` | Local LLM model |
|
|
271
|
-
| `MINDER_EMBEDDING__MODEL_PATH` | `~/.minder/models/embeddinggemma-300M-Q8_0.gguf` | Embedding model |
|
|
272
|
-
| `MINDER_CACHE__PROVIDER` | `redis` | `redis` or `lru` |
|
|
273
|
-
| `MINDER_WORKFLOW__ORCHESTRATION_RUNTIME` | `langgraph` | `langgraph` or `simple` |
|
|
274
|
-
|
|
275
|
-
---
|
|
276
|
-
|
|
277
|
-
## Prerequisites
|
|
278
|
-
|
|
279
|
-
| Requirement | Version |
|
|
280
|
-
| --- | --- |
|
|
281
|
-
| Python | `>= 3.14` |
|
|
282
|
-
| uv | latest |
|
|
283
|
-
| Docker + Compose | v2+ |
|
|
284
|
-
| Bun | `1.2.21+` (dashboard dev only) |
|
|
285
|
-
|
|
286
|
-
---
|
|
287
|
-
|
|
288
|
-
## Testing
|
|
289
|
-
|
|
290
|
-
Run all tests:
|
|
291
|
-
|
|
292
|
-
```bash
|
|
293
|
-
UV_CACHE_DIR=.uv-cache uv run pytest
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
Phase-specific gates:
|
|
297
|
-
|
|
298
|
-
```bash
|
|
299
|
-
uv run pytest tests/integration/test_phase3_gate.py
|
|
300
|
-
uv run pytest tests/e2e/test_phase4_gateway_auth.py
|
|
301
|
-
uv run pytest tests/integration/test_phase4_3_console_gate.py
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
Note: integration tests that hit Milvus/MongoDB/Redis require Docker services running.
|
|
305
|
-
|
|
306
|
-
---
|
|
307
|
-
|
|
308
|
-
## Documentation Index
|
|
309
|
-
|
|
310
|
-
- [System Design](docs/system-design.md)
|
|
311
|
-
- [Project Plan](docs/PLAN.md)
|
|
312
|
-
- [Project Progress](docs/PROJECT_PROGRESS.md)
|
|
313
|
-
- [Task Breakdown](docs/TASK_BREAKDOWN.md)
|
|
314
|
-
- [Local Setup Guide](docs/guides/local-setup.md)
|
|
315
|
-
- [Minder CLI Guide](docs/guides/minder-cli.md)
|
|
316
|
-
- [Admin & Client Onboarding](docs/guides/admin-client-onboarding.md)
|
|
317
|
-
- [Production Deployment](docs/guides/production-deployment.md)
|
|
318
|
-
- [Gateway Auth Design](docs/design/mcp-gateway-auth-dashboard.md)
|