minder-cli 0.2.0__tar.gz → 0.2.3__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.
Files changed (134) hide show
  1. minder_cli-0.2.3/PKG-INFO +119 -0
  2. minder_cli-0.2.3/README.md +83 -0
  3. {minder_cli-0.2.0 → minder_cli-0.2.3}/pyproject.toml +5 -5
  4. minder_cli-0.2.0/PKG-INFO +0 -318
  5. minder_cli-0.2.0/README.md +0 -282
  6. {minder_cli-0.2.0 → minder_cli-0.2.3}/.gitignore +0 -0
  7. {minder_cli-0.2.0 → minder_cli-0.2.3}/LICENSE +0 -0
  8. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/__init__.py +0 -0
  9. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/api/routers/prompts.py +0 -0
  10. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/application/__init__.py +0 -0
  11. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/application/admin/__init__.py +0 -0
  12. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/application/admin/dto.py +0 -0
  13. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/application/admin/jobs.py +0 -0
  14. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/application/admin/use_cases.py +0 -0
  15. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/auth/__init__.py +0 -0
  16. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/auth/context.py +0 -0
  17. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/auth/middleware.py +0 -0
  18. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/auth/principal.py +0 -0
  19. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/auth/rate_limiter.py +0 -0
  20. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/auth/rbac.py +0 -0
  21. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/auth/service.py +0 -0
  22. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/bootstrap/__init__.py +0 -0
  23. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/bootstrap/providers.py +0 -0
  24. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/bootstrap/transport.py +0 -0
  25. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/cache/__init__.py +0 -0
  26. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/cache/providers.py +0 -0
  27. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/chunking/__init__.py +0 -0
  28. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/chunking/code_splitter.py +0 -0
  29. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/chunking/splitter.py +0 -0
  30. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/cli.py +0 -0
  31. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/config.py +0 -0
  32. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/continuity.py +0 -0
  33. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/dev.py +0 -0
  34. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/embedding/__init__.py +0 -0
  35. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/embedding/base.py +0 -0
  36. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/embedding/local.py +0 -0
  37. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/embedding/openai.py +0 -0
  38. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/__init__.py +0 -0
  39. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/edges.py +0 -0
  40. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/executor.py +0 -0
  41. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/graph.py +0 -0
  42. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/nodes/__init__.py +0 -0
  43. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/nodes/evaluator.py +0 -0
  44. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/nodes/guard.py +0 -0
  45. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/nodes/llm.py +0 -0
  46. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/nodes/planning.py +0 -0
  47. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/nodes/reasoning.py +0 -0
  48. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/nodes/reranker.py +0 -0
  49. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/nodes/retriever.py +0 -0
  50. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/nodes/verification.py +0 -0
  51. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/nodes/workflow_planner.py +0 -0
  52. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/runtime.py +0 -0
  53. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/graph/state.py +0 -0
  54. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/llm/__init__.py +0 -0
  55. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/llm/base.py +0 -0
  56. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/llm/local.py +0 -0
  57. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/llm/openai.py +0 -0
  58. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/__init__.py +0 -0
  59. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/base.py +0 -0
  60. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/client.py +0 -0
  61. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/document.py +0 -0
  62. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/error.py +0 -0
  63. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/graph.py +0 -0
  64. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/history.py +0 -0
  65. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/job.py +0 -0
  66. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/prompt.py +0 -0
  67. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/repository.py +0 -0
  68. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/rule.py +0 -0
  69. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/session.py +0 -0
  70. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/skill.py +0 -0
  71. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/user.py +0 -0
  72. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/models/workflow.py +0 -0
  73. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/observability/__init__.py +0 -0
  74. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/observability/audit.py +0 -0
  75. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/observability/logging.py +0 -0
  76. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/observability/metrics.py +0 -0
  77. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/observability/tracing.py +0 -0
  78. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/__init__.py +0 -0
  79. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/http/__init__.py +0 -0
  80. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/http/admin/__init__.py +0 -0
  81. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/http/admin/api.py +0 -0
  82. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/http/admin/context.py +0 -0
  83. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/http/admin/dashboard.py +0 -0
  84. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/http/admin/jobs.py +0 -0
  85. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/http/admin/memories.py +0 -0
  86. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/http/admin/prompts.py +0 -0
  87. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/http/admin/routes.py +0 -0
  88. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/http/admin/runtime.py +0 -0
  89. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/http/admin/search.py +0 -0
  90. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/presentation/http/admin/skills.py +0 -0
  91. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/prompts/__init__.py +0 -0
  92. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/prompts/formatter.py +0 -0
  93. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/resources/__init__.py +0 -0
  94. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/retrieval/__init__.py +0 -0
  95. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/retrieval/hybrid.py +0 -0
  96. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/retrieval/mmr.py +0 -0
  97. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/retrieval/multi_hop.py +0 -0
  98. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/runtime.py +0 -0
  99. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/server.py +0 -0
  100. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/__init__.py +0 -0
  101. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/document.py +0 -0
  102. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/error.py +0 -0
  103. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/feedback.py +0 -0
  104. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/graph.py +0 -0
  105. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/history.py +0 -0
  106. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/interfaces.py +0 -0
  107. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/milvus/__init__.py +0 -0
  108. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/milvus/client.py +0 -0
  109. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/milvus/collections.py +0 -0
  110. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/milvus/vector_store.py +0 -0
  111. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/mongodb/__init__.py +0 -0
  112. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/mongodb/client.py +0 -0
  113. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/mongodb/indexes.py +0 -0
  114. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/mongodb/operational_store.py +0 -0
  115. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/relational.py +0 -0
  116. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/repo_state.py +0 -0
  117. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/rule.py +0 -0
  118. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/store/vector.py +0 -0
  119. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/tools/__init__.py +0 -0
  120. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/tools/auth.py +0 -0
  121. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/tools/graph.py +0 -0
  122. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/tools/ingest.py +0 -0
  123. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/tools/memory.py +0 -0
  124. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/tools/query.py +0 -0
  125. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/tools/registry.py +0 -0
  126. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/tools/repo_scanner.py +0 -0
  127. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/tools/search.py +0 -0
  128. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/tools/session.py +0 -0
  129. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/tools/skills.py +0 -0
  130. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/tools/workflow.py +0 -0
  131. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/transport/__init__.py +0 -0
  132. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/transport/base.py +0 -0
  133. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/transport/sse.py +0 -0
  134. {minder_cli-0.2.0 → minder_cli-0.2.3}/src/minder/transport/stdio.py +0 -0
@@ -0,0 +1,119 @@
1
+ Metadata-Version: 2.4
2
+ Name: minder-cli
3
+ Version: 0.2.3
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.13
16
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
17
+ Requires-Python: >=3.13
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
+ [![PyPI version](https://img.shields.io/pypi/v/minder-cli.svg)](https://pypi.org/project/minder-cli/)
40
+ [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](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
+ [![PyPI version](https://img.shields.io/pypi/v/minder-cli.svg)](https://pypi.org/project/minder-cli/)
4
+ [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](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,18 +4,18 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "minder-cli"
7
- version = "0.2.0"
8
- description = "Minder is an AI MCP server for manage your LLM flow development and memory of AI agent."
7
+ version = "0.2.3"
8
+ description = "Minder CLI is the command-line interface for the Minder self-hosted MCP platform."
9
9
  readme = "README.md"
10
- requires-python = ">=3.14"
10
+ requires-python = ">=3.13"
11
11
  keywords = ["mcp", "cli", "ai", "code-search", "workflow"]
12
12
  classifiers = [
13
13
  "Development Status :: 3 - Alpha",
14
14
  "Environment :: Console",
15
15
  "Intended Audience :: Developers",
16
- "License :: OSI Approved :: MIT License",
16
+ "License :: OSI Approved :: Apache Software License",
17
17
  "Programming Language :: Python :: 3",
18
- "Programming Language :: Python :: 3.14",
18
+ "Programming Language :: Python :: 3.13",
19
19
  "Topic :: Software Development :: Libraries :: Python Modules",
20
20
  ]
21
21
  dependencies = [
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)