# mmt **Repository Path**: hua1995116/mmt ## Basic Information - **Project Name**: mmt - **Description**: MMT (Manage Multiple Task) 是一个多任务流程的管理命令工具,专注解放你的生产力。 - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-03 - **Last Updated**: 2022-05-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

使用其他语言阅读: 简体中文 | [English](./README.md) # 介绍 MMT (Manage Multiple Task) 是 MacOS + iTerm2 的一个自动打开多个窗口并执行命令工具,一次定义永久受益! # 安装 ``` npm i -g mmt ``` ## 使用场景 ### Case1: 单项目多仓库 当你的项目是拥有前后端两个工程,你总是需要记住多个命令或者是多个目录,而开启多个窗口总是会比较麻烦。 你的前端项目:case1-front, 启动命令: npm run start 你的后端项目: case1-backend, 启动命令: npm run dev 使用 mmt 声明: ``` > cd path/case1-front > mmt add case1 start > cd path/case1-backend > mmt add case1 dev ``` 在任意命令窗口: ``` > mmt run case1 ``` 效果如下(自动开启多个窗口,并在对应窗口执行命令): ![](./source/case1.gif) ### Case2: 多项目多仓库 当你一个人维护多个技术栈的项目,启动命令总是记不住,使用 Vue 项目启动命令可能是 `npm run serve`, 而使用 React 项目却是 `npm run start`, 有些项目还可能是 `npm run dev`。使用 mmt 可以抹平这种差异,并且你无须记忆你的工程路径。 你的项目1: projec1-vue, 启动命令 `npm run serve` 你的项目2: projec2-react, 启动命令 `npm run start` 使用 mmt 声明: ``` > cd path/projec1-vue > mmt add project1 serve > cd path/projec2-react > mmt add project2 start ``` 在任意命令窗口 ``` > mmt run project1 > mmt run project2 ``` 效果如下: ![](./source/case2.gif) ### Case3: 脚本别名 当你想要同步运行一些流程线的工作,你就可以使用 `add-sync` 方式,例如我的某个本地项目需要依赖两个容器环境 e8a47b8aed91 和 e0d433a26388 这个时候运行 mmt 将会自动执行命令。 ``` > mmt add-sync project1-dep "docker restart e8a47b8aed91" > mmt add-sync project1-dep "docker restart e0d433a26388" ``` 在任意命令窗口 ``` > mmt run project1-dep ``` ![](./source/case3.gif) ## API ### add 添加一个异步任务,任务会以新建一个 tab 页启动。 常见场景: 当我们有一个全栈服务的时候,我们需要启动前端和后端,这个时候我们每次都需要麻烦的切换 tab 页,然后启动两个服务 示例: 例如我的另一个项目「木及简历」是一个全栈项目,这个时候我想要快速启动前后端就可以这样做。 ``` mmt add muji "cd frontend/path && npm run start"; mmt add muji "cd server/path && npm run dev"; mmt run muji ``` 此时会新开两个窗口运行前端和后端服务。 ### add-sync 添加一个同步任务,任务会在当前页面直接执行。 常见场景: 每当我们需要切换项目的时候,有一些预制环境,mmt能够帮助我们处理这些情况。例如我的某个本地项目需要依赖两个容器环境 e8a47b8aed91 和 e0d433a26388 这个时候运行mmt 将会自动执行命令。 ``` mmt add-sync start-docker "docker restart e8a47b8aed91"; mmt add-sync start-docker "docker restart e0d433a26388"; mmt run start-docker > docker restart e8a47b8aed91 > docker restart e0d433a26388 ``` 此时会在当前 tab 页里,一次运行以上两个命令 ### ls 列出当前任务有哪些命令 ``` mmt ls muji > cd frontend/path && npm run start > cd server/path && npm run dev ``` ### rm 删除一个任务 `mmt rm ` ``` mmt rm muji > delete muji task success! ``` ### run 运行一个任务 `mmt run ` ``` mmt run muji ``` ### export `mmt export ` 导出所有配置 ``` mmt export all ``` 导出单个配置 ``` mmt export muji ``` ## License MIT Copyright (c) 2022- 蓝色的秋风