Monarbor - AI 友好的逻辑大仓命令行工具
Project description
Monarbor
AI 友好的逻辑大仓命令行工具。一个 mona.yaml 配置文件描述所有仓库,一套命令统一管理。
安装
pip install monarbor
开发模式安装:
pip install -e .
快速开始
# 初始化一个逻辑大仓
monarbor init
# 添加仓库
monarbor add --path business-a/frontend --name "前端项目" --url "https://git.example.com/org/frontend.git"
# 拉取所有代码
monarbor clone
# 查看状态
monarbor status
命令一览
| 命令 | 说明 |
|---|---|
monarbor clone |
拉取大仓下所有项目代码 |
monarbor pull |
更新所有已 clone 仓库的代码 |
monarbor status |
显示所有仓库的分支、改动、同步状态 |
monarbor list |
以树形结构列出所有仓库 |
monarbor exec <cmd> |
在所有仓库中执行命令 |
monarbor checkout <dev|test|prod> |
批量切换到指定分支类型 |
monarbor init |
初始化新的逻辑大仓 |
monarbor add |
向当前大仓添加仓库 |
常用场景
拉取所有代码
# 默认 clone dev 分支
monarbor clone
# clone 测试分支
monarbor clone -b test
# 递归 clone(包括嵌套的子逻辑大仓)
monarbor clone -r
# 只 clone 某个业务线
monarbor clone --filter business-a
批量切换分支
# 全部切到测试分支
monarbor checkout test
# 全部切到生产分支
monarbor checkout prod
批量执行命令
# 查看每个仓库最近 5 条提交
monarbor exec "git log --oneline -5"
# 全部安装依赖
monarbor exec "npm install"
# 只在某个业务线执行
monarbor exec "pnpm build" --filter business-a
嵌套逻辑大仓
当子目录下存在自己的 mona.yaml 时,带 -r 参数即可递归处理:
monarbor clone -r # 递归 clone
monarbor status -r # 递归查看状态
monarbor list -r # 递归列出树形结构
mona.yaml 格式
name: "我的大仓"
description: "大仓描述"
owner: your-name
repos:
- path: business-a/frontend
name: "前端项目"
repo_url: "https://git.example.com/org/frontend.git"
tech_stack: [typescript, react]
branches:
dev: develop
test: release/test
prod: main
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file monarbor-0.3.0.tar.gz.
File metadata
- Download URL: monarbor-0.3.0.tar.gz
- Upload date:
- Size: 12.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1212dba2c467a765432a49ce9ccff39c5ab228dd99f1f1310b90113e51d6de8
|
|
| MD5 |
e3460aea22991b2d43e490110fab972e
|
|
| BLAKE2b-256 |
44c5daa7dbb168ad7348a5c7ae8f63345269953c08e4d15b0227f67e972e69f5
|
Provenance
The following attestation bundles were made for monarbor-0.3.0.tar.gz:
Publisher:
publish.yml on jeffkit/monarbor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
monarbor-0.3.0.tar.gz -
Subject digest:
d1212dba2c467a765432a49ce9ccff39c5ab228dd99f1f1310b90113e51d6de8 - Sigstore transparency entry: 1214515857
- Sigstore integration time:
-
Permalink:
jeffkit/monarbor@c122ef62d530a7bdf04061206af9a2b8484beb25 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/jeffkit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c122ef62d530a7bdf04061206af9a2b8484beb25 -
Trigger Event:
push
-
Statement type:
File details
Details for the file monarbor-0.3.0-py3-none-any.whl.
File metadata
- Download URL: monarbor-0.3.0-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2851a18fb2f1e2b0a202ed1ec9b5af1f5287e4c22d9dd20d9793bf4ed83e763b
|
|
| MD5 |
e113e0d487d9bf085084542f8b7ff8df
|
|
| BLAKE2b-256 |
d554f53ef3ef52c1da9a32baf496c97f52750e2bf1ae7f123721ecf576ea0041
|
Provenance
The following attestation bundles were made for monarbor-0.3.0-py3-none-any.whl:
Publisher:
publish.yml on jeffkit/monarbor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
monarbor-0.3.0-py3-none-any.whl -
Subject digest:
2851a18fb2f1e2b0a202ed1ec9b5af1f5287e4c22d9dd20d9793bf4ed83e763b - Sigstore transparency entry: 1214515994
- Sigstore integration time:
-
Permalink:
jeffkit/monarbor@c122ef62d530a7bdf04061206af9a2b8484beb25 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/jeffkit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c122ef62d530a7bdf04061206af9a2b8484beb25 -
Trigger Event:
push
-
Statement type: