Project Icon

Komac

跨平台CLI工具 快速创建WinGet清单文件

Komac是为WinGet社区仓库开发的高级命令行工具,专门用于创建清单文件。该工具运行速度快,内存占用低,支持Windows、Linux和macOS等多个操作系统。Komac具备创建新包、更新现有包和删除版本等功能,还能自动提交到WinGet仓库。相较于同类工具,Komac具有更强的检测能力和更快的迭代速度,适合WinGet项目开发者使用。

Komac logoKomac - 又一个 WinGet 清单创建工具 Komac banner

GitHub 发布版本(显示发布名称而非标签名称) GitHub 仓库星标数 问题 许可证

Komac 是一个高级命令行界面工具,专为 WinGet 社区仓库 创建清单文件而设计。

Komac 不仅运行速度极快 🔥,而且内存占用极低,在我的机器上仅使用约 3.5MB 内存。

Komac-演示

安装

Komac 是跨平台的,可以在 Windows、Linux、macOS 和 FreeBSD 上运行。

所有平台

如果你已安装 cargo,可以为任何平台编译 Rust

cargo install --locked komac

Komac 也支持 cargo-binstall

cargo binstall komac

Windows

可从 发布页面 下载便携版 EXE 和安装程序。

WinGet

winget install komac

Scoop

scoop install komac

Linux

可从 发布页面 下载便携版二进制文件。也提供 Debian(.deb)和 Red Hat(.rpm)安装包。

macOS

可从 发布页面 下载 macOS 便携版二进制文件。

Homebrew

brew install russellbanks/tap/komac

GitHub 令牌

Komac 目前只能使用经典令牌。虽然 Komac 可以使用细粒度令牌完全创建清单和提交,但无法向 winget-pkgs 创建拉取请求。随着细粒度令牌的改进,这种情况可能会改变。详见 https://github.com/russellbanks/Komac/issues/310。

经典令牌

需要具有 public_repo 权限的经典令牌。

firefox_IYiqtsd0Nl

命令

命令描述用法
New从头创建一个包new
Update更新 winget-pkgs 中已存在的包update
Remove从 winget-pkgs 中移除一个版本remove
Branch Cleanup删除已合并或关闭的 winget-pkgs 拉取请求的分支cleanup
Token update更新存储的 GitHub OAuth 令牌token update
Token remove删除存储的 GitHub OAuth 令牌token remove

使用新版本更新现有包

komac update Package.Identifier --version 1.2.3 --urls https://www.firstUrl.com https://www.secondUrl.com --submit
参数用法注释
包标识符komac update Package.Identifier
版本--version
URL--urlsURL 之间用空格分隔
自动提交--submit
令牌(如果尚未存储)--tokenKomac 会检查 GITHUB_TOKEN 环境变量

Komac 与其他工具的对比 🏆

虽然其他清单创建工具在 winget-pkgs 社区中取得了显著进展,但它们的开发速度明显较慢,且缺乏 Komac 所具备的高级检测功能。

KomacWingetCreateYamlCreate
参数
无需Git即可工作
优化的清单排序 1✅️
完全跨平台有限
完整的MSI值检索部分部分
Linux和macOS MSI支持
完整的MSIX值检索部分部分 - https://github.com/Trenly/winget-pkgs/issues/180
从GitHub获取信息
格式化的GitHub发布说明检索
发布日期识别
无遥测2
完全独立(无需克隆winget-pkgs)
类型安全
Inno安装程序检测34
Nullsoft安装程序检测34
Burn安装程序检测3可选功能(由于处理速度慢,默认未启用)
下载时的进度条和预计完成时间
编程语言RustC#PowerShell

在GitHub Actions中使用:WinGet Releaser 🌟

WinGet Releaser是一个GitHub Action,它调用Komac并传入您的发布URL。这完全自动化了发布到WinGet的过程。

示例 📝

name: 发布到WinGet
on:
  release:
    types: [ released ]
jobs:
  publish:
    runs-on: windows-latest
    steps:
      - uses: vedantmgoyal9/winget-releaser@main
        with:
          identifier: Package.Identifier
          token: ${{ secrets.WINGET_TOKEN }}
          # installers-regex: '\.exe$' # 仅.exe文件

替代操作 🔄

我如何支持Komac? ❤️

星标历史 ⭐

星标历史图表

许可证

GNU GPLv3 Logo Komac是自由软件:您可以随意使用、研究、分享和改进它。具体来说,您可以根据自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,可以选择使用该许可证的第3版或(由您选择)任何更新的版本。

Footnotes

  1. 如果所有安装程序具有相同的值,该值将放置在清单的根部以减少冗余。

  2. WingetCreate默认启用遥测。使用wingetcreate settings手动禁用遥测。

  3. 自Komac v2以来,对Inno、Nullsoft和Burn安装程序的检测更加准确。 2 3

  4. 这个逻辑是我贡献的 :) 查看我为YamlCreate请求此功能而提出的问题 2

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号