devmate 1.0.0__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.
- devmate-1.0.0/PKG-INFO +116 -0
- devmate-1.0.0/README.md +67 -0
- devmate-1.0.0/pyproject.toml +102 -0
- devmate-1.0.0/setup.cfg +4 -0
- devmate-1.0.0/src/devmate/__init__.py +6 -0
- devmate-1.0.0/src/devmate/__main__.py +5 -0
- devmate-1.0.0/src/devmate/app/__init__.py +1 -0
- devmate-1.0.0/src/devmate/app/cli.py +1663 -0
- devmate-1.0.0/src/devmate/app/tui.py +291 -0
- devmate-1.0.0/src/devmate/app/web/__init__.py +95 -0
- devmate-1.0.0/src/devmate/bus/__init__.py +1 -0
- devmate-1.0.0/src/devmate/bus/bus.py +151 -0
- devmate-1.0.0/src/devmate/bus/command.py +84 -0
- devmate-1.0.0/src/devmate/core/__init__.py +1 -0
- devmate-1.0.0/src/devmate/core/config.py +115 -0
- devmate-1.0.0/src/devmate/core/logging.py +54 -0
- devmate-1.0.0/src/devmate/core/security.py +61 -0
- devmate-1.0.0/src/devmate/events/__init__.py +1 -0
- devmate-1.0.0/src/devmate/events/bus.py +97 -0
- devmate-1.0.0/src/devmate/events/domain_event.py +37 -0
- devmate-1.0.0/src/devmate/module/__init__.py +1 -0
- devmate-1.0.0/src/devmate/module/registry.py +74 -0
- devmate-1.0.0/src/devmate/security/audit.py +96 -0
- devmate-1.0.0/src/devmate/security/vault.py +221 -0
- devmate-1.0.0/src/devmate.egg-info/PKG-INFO +116 -0
- devmate-1.0.0/src/devmate.egg-info/SOURCES.txt +40 -0
- devmate-1.0.0/src/devmate.egg-info/dependency_links.txt +1 -0
- devmate-1.0.0/src/devmate.egg-info/entry_points.txt +18 -0
- devmate-1.0.0/src/devmate.egg-info/requires.txt +37 -0
- devmate-1.0.0/src/devmate.egg-info/top_level.txt +15 -0
- devmate-1.0.0/src/devmate_agent/__init__.py +440 -0
- devmate-1.0.0/src/devmate_apidev/__init__.py +271 -0
- devmate-1.0.0/src/devmate_apihub/__init__.py +313 -0
- devmate-1.0.0/src/devmate_dbadmin/__init__.py +263 -0
- devmate-1.0.0/src/devmate_gitflow/__init__.py +247 -0
- devmate-1.0.0/src/devmate_monitor/__init__.py +112 -0
- devmate-1.0.0/src/devmate_notekeeper/__init__.py +280 -0
- devmate-1.0.0/src/devmate_regexlab/__init__.py +212 -0
- devmate-1.0.0/src/devmate_reporter/__init__.py +170 -0
- devmate-1.0.0/src/devmate_scaffold/__init__.py +181 -0
- devmate-1.0.0/src/devmate_sshman/__init__.py +330 -0
- devmate-1.0.0/src/devmate_toolkit/__init__.py +223 -0
devmate-1.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: devmate
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: 程序员终端瑞士军刀——替代 5 个独立工具,一个 CLI 搞定
|
|
5
|
+
Author-email: DevMate Team <devmate@example.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Keywords: cli,developer-tools,terminal,productivity
|
|
8
|
+
Classifier: Development Status :: 3 - Alpha
|
|
9
|
+
Classifier: Environment :: Console
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Topic :: Software Development
|
|
14
|
+
Classifier: Topic :: Utilities
|
|
15
|
+
Requires-Python: >=3.11
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
Requires-Dist: click>=8.1
|
|
18
|
+
Requires-Dist: rich>=13.0
|
|
19
|
+
Requires-Dist: pydantic>=2.0
|
|
20
|
+
Requires-Dist: pydantic-settings>=2.0
|
|
21
|
+
Requires-Dist: pyyaml>=6.0
|
|
22
|
+
Requires-Dist: sqlalchemy>=2.0
|
|
23
|
+
Requires-Dist: alembic>=1.13
|
|
24
|
+
Requires-Dist: cryptography>=42.0
|
|
25
|
+
Requires-Dist: httpx>=0.27
|
|
26
|
+
Provides-Extra: web
|
|
27
|
+
Requires-Dist: fastapi>=0.110; extra == "web"
|
|
28
|
+
Requires-Dist: uvicorn[standard]>=0.29; extra == "web"
|
|
29
|
+
Requires-Dist: jinja2>=3.1; extra == "web"
|
|
30
|
+
Requires-Dist: python-multipart>=0.0.9; extra == "web"
|
|
31
|
+
Requires-Dist: python-jose[cryptography]>=3.3; extra == "web"
|
|
32
|
+
Requires-Dist: passlib[bcrypt]>=1.7; extra == "web"
|
|
33
|
+
Provides-Extra: tui
|
|
34
|
+
Requires-Dist: textual>=1.0; extra == "tui"
|
|
35
|
+
Provides-Extra: ai
|
|
36
|
+
Requires-Dist: chromadb>=0.5; extra == "ai"
|
|
37
|
+
Requires-Dist: tiktoken>=0.7; extra == "ai"
|
|
38
|
+
Provides-Extra: dev
|
|
39
|
+
Requires-Dist: pytest>=8.0; extra == "dev"
|
|
40
|
+
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
|
|
41
|
+
Requires-Dist: pytest-cov>=5.0; extra == "dev"
|
|
42
|
+
Requires-Dist: ruff>=0.5; extra == "dev"
|
|
43
|
+
Requires-Dist: mypy>=1.10; extra == "dev"
|
|
44
|
+
Provides-Extra: all
|
|
45
|
+
Requires-Dist: devmate[web]; extra == "all"
|
|
46
|
+
Requires-Dist: devmate[tui]; extra == "all"
|
|
47
|
+
Requires-Dist: devmate[ai]; extra == "all"
|
|
48
|
+
Requires-Dist: devmate[dev]; extra == "all"
|
|
49
|
+
|
|
50
|
+
# 🏗️ DevMate
|
|
51
|
+
|
|
52
|
+
> **程序员终端瑞士军刀——替代 5 个独立工具,一个 CLI 搞定**
|
|
53
|
+
|
|
54
|
+
DevMate 是一个 CLI + TUI + Web 三模架构的程序员全能工坊。装一个 devmate,少装 Postman + TablePlus + htop + 正则工具 + 文件管理器。
|
|
55
|
+
|
|
56
|
+
## 快速开始
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# 安装
|
|
60
|
+
pip install devmate
|
|
61
|
+
|
|
62
|
+
# 首次运行(交互式引导)
|
|
63
|
+
devmate
|
|
64
|
+
|
|
65
|
+
# 试试这些命令
|
|
66
|
+
devmate tk organize ~/Downloads --dry-run # 整理文件(预览模式)
|
|
67
|
+
devmate db connect sqlite:///test.db # 连接数据库
|
|
68
|
+
devmate api get https://httpbin.org/get # 发送 HTTP 请求
|
|
69
|
+
devmate ai add default --provider openai # 配置 AI 模型
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## 已实现模块(Phase 1)
|
|
73
|
+
|
|
74
|
+
| 模块 | CLI 入口 | 功能 | 状态 |
|
|
75
|
+
|------|---------|------|------|
|
|
76
|
+
| **toolkit** | `devmate tk` | 文件整理、目录大小排行、缓存清理 | ✅ |
|
|
77
|
+
| **apidev** | `devmate api` | HTTP 客户端、Mock Server、请求历史 | ✅ |
|
|
78
|
+
| **dbadmin** | `devmate db` | SQL 编辑器、表浏览器、保存的查询 | ✅ |
|
|
79
|
+
| **apihub** | `devmate ai` | AI 模型统一接入、对话、历史记录 | ✅ |
|
|
80
|
+
| vault | `devmate vault` | 加密密钥管理器 | ✅ |
|
|
81
|
+
| audit | `devmate audit` | 审计日志 | ✅ |
|
|
82
|
+
|
|
83
|
+
## 安装方式
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# 最小安装(CLI 核心)
|
|
87
|
+
pip install devmate
|
|
88
|
+
|
|
89
|
+
# 开发安装(含测试 + 代码检查工具)
|
|
90
|
+
pip install "devmate[dev]"
|
|
91
|
+
|
|
92
|
+
# 完整安装
|
|
93
|
+
pip install "devmate[all]"
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## 项目状态
|
|
97
|
+
|
|
98
|
+
**v0.1.0-alpha** — Phase 1 完成,4 个 MVP 模块可用。
|
|
99
|
+
|
|
100
|
+
## 开发
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
git clone https://github.com/CXuanPro/DevMate.git
|
|
104
|
+
cd DevMate
|
|
105
|
+
python -m venv .venv && source .venv/bin/activate
|
|
106
|
+
pip install -e ".[dev]"
|
|
107
|
+
|
|
108
|
+
# 验证
|
|
109
|
+
devmate --help
|
|
110
|
+
|
|
111
|
+
# 运行测试
|
|
112
|
+
pytest
|
|
113
|
+
|
|
114
|
+
# 代码检查
|
|
115
|
+
ruff check src/ tests/
|
|
116
|
+
```
|
devmate-1.0.0/README.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# 🏗️ DevMate
|
|
2
|
+
|
|
3
|
+
> **程序员终端瑞士军刀——替代 5 个独立工具,一个 CLI 搞定**
|
|
4
|
+
|
|
5
|
+
DevMate 是一个 CLI + TUI + Web 三模架构的程序员全能工坊。装一个 devmate,少装 Postman + TablePlus + htop + 正则工具 + 文件管理器。
|
|
6
|
+
|
|
7
|
+
## 快速开始
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# 安装
|
|
11
|
+
pip install devmate
|
|
12
|
+
|
|
13
|
+
# 首次运行(交互式引导)
|
|
14
|
+
devmate
|
|
15
|
+
|
|
16
|
+
# 试试这些命令
|
|
17
|
+
devmate tk organize ~/Downloads --dry-run # 整理文件(预览模式)
|
|
18
|
+
devmate db connect sqlite:///test.db # 连接数据库
|
|
19
|
+
devmate api get https://httpbin.org/get # 发送 HTTP 请求
|
|
20
|
+
devmate ai add default --provider openai # 配置 AI 模型
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 已实现模块(Phase 1)
|
|
24
|
+
|
|
25
|
+
| 模块 | CLI 入口 | 功能 | 状态 |
|
|
26
|
+
|------|---------|------|------|
|
|
27
|
+
| **toolkit** | `devmate tk` | 文件整理、目录大小排行、缓存清理 | ✅ |
|
|
28
|
+
| **apidev** | `devmate api` | HTTP 客户端、Mock Server、请求历史 | ✅ |
|
|
29
|
+
| **dbadmin** | `devmate db` | SQL 编辑器、表浏览器、保存的查询 | ✅ |
|
|
30
|
+
| **apihub** | `devmate ai` | AI 模型统一接入、对话、历史记录 | ✅ |
|
|
31
|
+
| vault | `devmate vault` | 加密密钥管理器 | ✅ |
|
|
32
|
+
| audit | `devmate audit` | 审计日志 | ✅ |
|
|
33
|
+
|
|
34
|
+
## 安装方式
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# 最小安装(CLI 核心)
|
|
38
|
+
pip install devmate
|
|
39
|
+
|
|
40
|
+
# 开发安装(含测试 + 代码检查工具)
|
|
41
|
+
pip install "devmate[dev]"
|
|
42
|
+
|
|
43
|
+
# 完整安装
|
|
44
|
+
pip install "devmate[all]"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 项目状态
|
|
48
|
+
|
|
49
|
+
**v0.1.0-alpha** — Phase 1 完成,4 个 MVP 模块可用。
|
|
50
|
+
|
|
51
|
+
## 开发
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
git clone https://github.com/CXuanPro/DevMate.git
|
|
55
|
+
cd DevMate
|
|
56
|
+
python -m venv .venv && source .venv/bin/activate
|
|
57
|
+
pip install -e ".[dev]"
|
|
58
|
+
|
|
59
|
+
# 验证
|
|
60
|
+
devmate --help
|
|
61
|
+
|
|
62
|
+
# 运行测试
|
|
63
|
+
pytest
|
|
64
|
+
|
|
65
|
+
# 代码检查
|
|
66
|
+
ruff check src/ tests/
|
|
67
|
+
```
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "devmate"
|
|
7
|
+
version = "1.0.0"
|
|
8
|
+
description = "程序员终端瑞士军刀——替代 5 个独立工具,一个 CLI 搞定"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
authors = [
|
|
11
|
+
{name = "DevMate Team", email = "devmate@example.com"}
|
|
12
|
+
]
|
|
13
|
+
license = {text = "MIT"}
|
|
14
|
+
requires-python = ">=3.11"
|
|
15
|
+
keywords = ["cli", "developer-tools", "terminal", "productivity"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 3 - Alpha",
|
|
18
|
+
"Environment :: Console",
|
|
19
|
+
"Intended Audience :: Developers",
|
|
20
|
+
"License :: OSI Approved :: MIT License",
|
|
21
|
+
"Programming Language :: Python :: 3.11",
|
|
22
|
+
"Topic :: Software Development",
|
|
23
|
+
"Topic :: Utilities",
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
dependencies = [
|
|
27
|
+
"click>=8.1",
|
|
28
|
+
"rich>=13.0",
|
|
29
|
+
"pydantic>=2.0",
|
|
30
|
+
"pydantic-settings>=2.0",
|
|
31
|
+
"pyyaml>=6.0",
|
|
32
|
+
"sqlalchemy>=2.0",
|
|
33
|
+
"alembic>=1.13",
|
|
34
|
+
"cryptography>=42.0",
|
|
35
|
+
"httpx>=0.27",
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
[project.optional-dependencies]
|
|
39
|
+
web = [
|
|
40
|
+
"fastapi>=0.110",
|
|
41
|
+
"uvicorn[standard]>=0.29",
|
|
42
|
+
"jinja2>=3.1",
|
|
43
|
+
"python-multipart>=0.0.9",
|
|
44
|
+
"python-jose[cryptography]>=3.3",
|
|
45
|
+
"passlib[bcrypt]>=1.7",
|
|
46
|
+
]
|
|
47
|
+
tui = [
|
|
48
|
+
"textual>=1.0",
|
|
49
|
+
]
|
|
50
|
+
ai = [
|
|
51
|
+
"chromadb>=0.5",
|
|
52
|
+
"tiktoken>=0.7",
|
|
53
|
+
]
|
|
54
|
+
dev = [
|
|
55
|
+
"pytest>=8.0",
|
|
56
|
+
"pytest-asyncio>=0.23",
|
|
57
|
+
"pytest-cov>=5.0",
|
|
58
|
+
"ruff>=0.5",
|
|
59
|
+
"mypy>=1.10",
|
|
60
|
+
]
|
|
61
|
+
all = [
|
|
62
|
+
"devmate[web]",
|
|
63
|
+
"devmate[tui]",
|
|
64
|
+
"devmate[ai]",
|
|
65
|
+
"devmate[dev]",
|
|
66
|
+
]
|
|
67
|
+
|
|
68
|
+
[project.scripts]
|
|
69
|
+
devmate = "devmate.app.cli:main"
|
|
70
|
+
|
|
71
|
+
[project.entry-points."devmate.modules"]
|
|
72
|
+
toolkit = "devmate_toolkit"
|
|
73
|
+
apidev = "devmate_apidev"
|
|
74
|
+
dbadmin = "devmate_dbadmin"
|
|
75
|
+
apihub = "devmate_apihub"
|
|
76
|
+
vault = "devmate_vault"
|
|
77
|
+
agent = "devmate_agent"
|
|
78
|
+
sshman = "devmate_sshman"
|
|
79
|
+
gitflow = "devmate_gitflow"
|
|
80
|
+
regexlab = "devmate_regexlab"
|
|
81
|
+
notekeeper = "devmate_notekeeper"
|
|
82
|
+
monitor = "devmate_monitor"
|
|
83
|
+
reporter = "devmate_reporter"
|
|
84
|
+
scaffold = "devmate_scaffold"
|
|
85
|
+
publisher = "devmate_publisher"
|
|
86
|
+
|
|
87
|
+
[tool.ruff]
|
|
88
|
+
line-length = 100
|
|
89
|
+
target-version = "py311"
|
|
90
|
+
|
|
91
|
+
[tool.ruff.lint]
|
|
92
|
+
select = ["E", "F", "I", "N", "W", "UP"]
|
|
93
|
+
|
|
94
|
+
[tool.mypy]
|
|
95
|
+
python_version = "3.11"
|
|
96
|
+
strict = true
|
|
97
|
+
ignore_missing_imports = true
|
|
98
|
+
|
|
99
|
+
[tool.pytest.ini_options]
|
|
100
|
+
testpaths = ["tests"]
|
|
101
|
+
python_files = ["test_*.py"]
|
|
102
|
+
asyncio_mode = "auto"
|
devmate-1.0.0/setup.cfg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Application layer — CLI / TUI / Web entry points"""
|