Skip to main content

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

monarbor-0.4.0.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

monarbor-0.4.0-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file monarbor-0.4.0.tar.gz.

File metadata

  • Download URL: monarbor-0.4.0.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for monarbor-0.4.0.tar.gz
Algorithm Hash digest
SHA256 3b4a089347fb1ee95fd98c6c0ed26ae83590c12044b6172e4c2fcab9f1d7b996
MD5 567263159b35e6f8c1f2a0c287bc5d76
BLAKE2b-256 f362e1f56d0125adf46a5d3df40c6e5155ec82a421503a2d2713ca3acf98be40

See more details on using hashes here.

File details

Details for the file monarbor-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: monarbor-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for monarbor-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4a4f37bd44cbe013237735173b030fd2e5cf1ea60942dbacb7996f0d93e05819
MD5 b8b8f6c4a2c58eea537f87203ccf415e
BLAKE2b-256 20ca7c343541be644b2b45e9cdc2a2a52d1d155aa2be650d36402c6ccc64f998

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page