automate 1.3.0
dotnet tool install --global automate --version 1.3.0
此软件包包含一个.NET 工具,您可以从shell/命令行调用。
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local automate --version 1.3.0
此软件包包含一个.NET 工具,您可以从shell/命令行调用。
#tool dotnet:?package=automate&version=1.3.0
NuGet 团队不提供对此客户端的支持。请联系其维护者以寻求支持。
nuke :add-package automate --version 1.3.0
NuGet 团队不提供对此客户端的支持。请联系其维护者以寻求支持。
┌─┐┬ ┬┌┬┐┌─┐┌┬┐┌─┐┌┬┐┌─┐
├─┤│ │ │ │ ││││├─┤ │ ├┤
┴ ┴└─┘ ┴ └─┘┴ ┴┴ ┴ ┴ └─┘
向开发者提出问题
如果我给你一个命令行工具,它可以为你编写大量的代码,并且需要约~5个命令行命令来构建API端点或创建UI页面的所有框架,你会怎么用它?
- 你会为每个API或每个UI页面使用这个工具 一次。
针对该代码库的技术主管提出的问题
如果我给你一个命令行工具,该工具可以构建开发者使用的另一个命令行工具,而你大约需要约~15个命令行命令来构建它怎么办?
- 你只需要在 与代码库协作的基础上 做一次就可以了。
如果是这样,那么如果稍后该命令行工具被改进并更新(由你),随着代码库的演变和变化?下次开发者使用它时,它会自动重构并自动修复旧代码怎么办?
如果这些工具的选择存储在代码库旁边,与代码一起怎么办?
什么是 Automate?
- 为什么? - 一致性和节省时间
- 谁? - 技术主管,主导开发者,技术顾问
- 如何? - 为代码库的合作伙伴提供工具,这些工具可以提取和应用他们自己的编码模式、命名和结构,并随着代码的变化而演变。
它是如何工作的?
它的工作原理如下
- 您确定代码库中的一个 模式。例如,它可能是一个分层模式(接口)或垂直切片模式(领域模式)或特定类型的组件,或者是一种在多个地方以相似方式组合特定组件的方法等。
- 您选择(从代码库中)包含此模式当前代码的文件和文件夹。
- 然后这些文件将自动为您提取为 代码模板。
- 您命名模式,并定义一些该模式的属性。属性是表示在模式应用到代码库中时可能发生变化的内容(例如:模式中的函数、类、类型、文件、文件夹的名称等)。
- 您修改代码模板以添加您已定义的替换项,这些替换项在代码模板被渲染时会进行计算。
- 可选地,您可以为代码模板应用之前和之后执行的其他命令定义约束,例如:运行包管理器安装依赖,或者运行自动化测试来验证代码没有损坏等。
- 可选地,您还可以定义关于模式在代码库中可复用性的约束(例如:仅在特定语言或位置等)
- 您“构建”您的模式,一个便携的工具包会自动为您创建,其中包含这些模板和自动化功能。
- 然后将这个新的工具包发送给您的开发团队,让他们将其安装到他们的代码库中,或者您可以替他们安装到他们正在使用的现有代码库中。
- 然后他们使用这个工具包来构造模式的使用实例(称为“草稿”),并为其特定的用例在他们的工作流程中进行配置。
- 工具包将代码模板渲染到代码库中的文件和文件夹中,并包含草稿中的信息,还会执行相关的自动化等。
处理变化
在某个时刻(不可避免),您可能希望更新模式。重构它,修改它,修复其中的缺陷,或者只是添加新功能等。
- 您只需编辑原始模式。编辑或添加更多的代码模板,可选地添加或更改自动化,并更新约束。
- 将为您自动构建一个包含这些升级的升级工具包版本。
- 然后将这个升级的工具包发送给您的团队(或代码库)以使用。
- 他们运行升级的工具包,并升级他们的代码库中的代码。
- 工具包会自动检测之前写入的文件/文件夹,以及之前使用的草稿配置。工具包重新应用升级的部分。代码库随之进化。
自动化适用于您吗?
如果以下关于您的软件团队的假设都是正确的,那么您可能需要考虑查看这个工具。
您与别人在一个代码库上工作——您是一个软件团队的一员。
您是团队的Tech Lead/Lead Dev/技术顾问(或团队中的其他受人尊敬的权威地位)。
您亲自向这个代码库贡献代码,并且您经常与团队成员协作,关于代码如何结构化或编写。
您已经有一些定义明确的编码模式,或者可以创建一些值得在特定代码库中重复使用的编码模式。
您的团队重视:一致性、清晰性和可维护性。
您承认代码会随时间改变,并保持更新是很重要的。
如果您的处境与此相似,那么我们可以帮助您为团队定义(并强制执行)一些特定的代码库编码模式,以便他们可以重复使用。
入门
查看我们的入门文档了解如何安装 automate。
制作您的第一个工具包
遵循这个教程来制作您的第一个工具包
更多...
厌倦了愚蠢的示例,并渴望看到在真实代码库中的示例吗?
- 这里有一个示例工具包(从头开始构建),其中包含在一个真实代码库中的脚本式浏览,任何人都可以在自己的机器上跟随。
阅读我们的文档
想贡献什么?我们当然欢迎你们!
查看我们的贡献指南。
加入Discord上的讨论
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET | net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
此包没有依赖项。
版本 | 下载 | 最后更新 |
---|---|---|
1.3.0 | 279 | 5/14/2023 |
1.2.0 | 165 | 5/7/2023 |
1.1.0 | 467 | 11/5/2022 |
1.0.7 | 458 | 10/29/2022 |
1.0.5 | 448 | 10/15/2022 |
1.0.4 | 476 | 10/3/2022 |
1.0.3 | 469 | 9/28/2022 |
1.0.2 | 439 | 9/25/2022 |
1.0.1 | 459 | 9/19/2022 |
0.2.7-preview | 211 | 8/9/2022 |
0.2.6-preview | 196 | 7/3/2022 |
0.2.5-preview | 173 | 6/20/2022 |
0.2.4-preview | 172 | 6/17/2022 |
0.2.3-preview | 231 | 6/12/2022 |
0.2.2-preview | 232 | 6/9/2022 |
0.2.1-preview | 290 | 6/5/2022 |
0.2.0-preview | 221 | 6/4/2022 |
0.1.13-preview | 221 | 5/31/2022 |
0.1.12-preview | 191 | 5/29/2022 |
0.1.11-preview | 207 | 5/27/2022 |
0.1.10-preview | 207 | 5/17/2022 |
0.1.9-preview | 194 | 5/16/2022 |
0.1.8-preview | 208 | 4/25/2022 |
0.1.7-preview | 203 | 3/28/2022 |
0.1.6-preview | 267 | 3/18/2022 |
0.1.5-preview | 213 | 3/11/2022 |
0.1.4-preview | 218 | 3/6/2022 |
0.1.1-preview | 235 | 2/23/2022 |