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.2.1.tar.gz (11.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.2.1-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: monarbor-0.2.1.tar.gz
  • Upload date:
  • Size: 11.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.2.1.tar.gz
Algorithm Hash digest
SHA256 a4da920c5fe46b43655c35d61ea62415b7e8ce5a8276efd953712f2e54dbb433
MD5 39c4e63b052e0385a49467a7a0517c79
BLAKE2b-256 ad160120dacbdcbc2f99d37c45ed7da462ba9efdf224b9da29805cbbfb8eef17

See more details on using hashes here.

File details

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

File metadata

  • Download URL: monarbor-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 10.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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 12d24fc87ae0ad8820645f3202f4d34fcc65f28f64955e06c4c8a4dc4a73db46
MD5 8f877f8f29a18dd6bc309331a64ca2ee
BLAKE2b-256 70b030bfe07177e8fe127febfee7aa74a038ccbc61d3204ba7db7aec7d080165

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