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.
Files changed (42) hide show
  1. devmate-1.0.0/PKG-INFO +116 -0
  2. devmate-1.0.0/README.md +67 -0
  3. devmate-1.0.0/pyproject.toml +102 -0
  4. devmate-1.0.0/setup.cfg +4 -0
  5. devmate-1.0.0/src/devmate/__init__.py +6 -0
  6. devmate-1.0.0/src/devmate/__main__.py +5 -0
  7. devmate-1.0.0/src/devmate/app/__init__.py +1 -0
  8. devmate-1.0.0/src/devmate/app/cli.py +1663 -0
  9. devmate-1.0.0/src/devmate/app/tui.py +291 -0
  10. devmate-1.0.0/src/devmate/app/web/__init__.py +95 -0
  11. devmate-1.0.0/src/devmate/bus/__init__.py +1 -0
  12. devmate-1.0.0/src/devmate/bus/bus.py +151 -0
  13. devmate-1.0.0/src/devmate/bus/command.py +84 -0
  14. devmate-1.0.0/src/devmate/core/__init__.py +1 -0
  15. devmate-1.0.0/src/devmate/core/config.py +115 -0
  16. devmate-1.0.0/src/devmate/core/logging.py +54 -0
  17. devmate-1.0.0/src/devmate/core/security.py +61 -0
  18. devmate-1.0.0/src/devmate/events/__init__.py +1 -0
  19. devmate-1.0.0/src/devmate/events/bus.py +97 -0
  20. devmate-1.0.0/src/devmate/events/domain_event.py +37 -0
  21. devmate-1.0.0/src/devmate/module/__init__.py +1 -0
  22. devmate-1.0.0/src/devmate/module/registry.py +74 -0
  23. devmate-1.0.0/src/devmate/security/audit.py +96 -0
  24. devmate-1.0.0/src/devmate/security/vault.py +221 -0
  25. devmate-1.0.0/src/devmate.egg-info/PKG-INFO +116 -0
  26. devmate-1.0.0/src/devmate.egg-info/SOURCES.txt +40 -0
  27. devmate-1.0.0/src/devmate.egg-info/dependency_links.txt +1 -0
  28. devmate-1.0.0/src/devmate.egg-info/entry_points.txt +18 -0
  29. devmate-1.0.0/src/devmate.egg-info/requires.txt +37 -0
  30. devmate-1.0.0/src/devmate.egg-info/top_level.txt +15 -0
  31. devmate-1.0.0/src/devmate_agent/__init__.py +440 -0
  32. devmate-1.0.0/src/devmate_apidev/__init__.py +271 -0
  33. devmate-1.0.0/src/devmate_apihub/__init__.py +313 -0
  34. devmate-1.0.0/src/devmate_dbadmin/__init__.py +263 -0
  35. devmate-1.0.0/src/devmate_gitflow/__init__.py +247 -0
  36. devmate-1.0.0/src/devmate_monitor/__init__.py +112 -0
  37. devmate-1.0.0/src/devmate_notekeeper/__init__.py +280 -0
  38. devmate-1.0.0/src/devmate_regexlab/__init__.py +212 -0
  39. devmate-1.0.0/src/devmate_reporter/__init__.py +170 -0
  40. devmate-1.0.0/src/devmate_scaffold/__init__.py +181 -0
  41. devmate-1.0.0/src/devmate_sshman/__init__.py +330 -0
  42. 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
+ ```
@@ -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"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,6 @@
1
+ """
2
+ DevMate — 程序员终端瑞士军刀
3
+ """
4
+ __version__ = "1.0.0"
5
+ __app_name__ = "DevMate"
6
+ __description__ = "程序员终端瑞士军刀——替代 5 个独立工具,一个 CLI 搞定"
@@ -0,0 +1,5 @@
1
+ """python -m devmate 入口"""
2
+ from devmate.app.cli import main
3
+
4
+ if __name__ == "__main__":
5
+ main()
@@ -0,0 +1 @@
1
+ """Application layer — CLI / TUI / Web entry points"""