#许可管理 #创建 #公共 #命令行工具 #GNU #Mozilla #CLI

应用程序 licensit

创建 LICENSE 文件的命令行工具

3 个稳定版本

1.2.0 2024年3月18日
1.1.0 2024年3月14日
1.0.0 2023年10月18日

#3 in #GNU

Download history 49/week @ 2024-04-02 2/week @ 2024-05-21

83 每月下载量

MIT 许可证

68KB
309

licensit

licensit 是一个创建 LICENSE 文件的命令行工具。

支持的许可证

  • GNU Affero General Public License v3.0 (AGPL-3.0)
  • Apache License 2.0 (Apache-2.0)
  • BSD 2-Clause “Simplified” License (BSD-2-Clause)
  • BSD 3-Clause “New” or “Revised” License (BSD-3-Clause)
  • Boost Software License 1.0 (BSL-1.0)
  • Creative Commons Zero v1.0 Universal (CC0-1.0)
  • Eclipse Public License 2.0 (EPL-2.0)
  • GNU General Public License v2.0 (GPL-2.0)
  • GNU General Public License v3.0 (GPL-3.0)
  • GNU Lesser General Public License v2.1 (LGPL-2.1)
  • MIT License (MIT)
  • Mozilla Public License 2.0 (MPL-2.0)
  • The Unlicense (Unlicense)

安装

从 GitHub 手动安装

当发布版本时,licensit 的编译二进制版本会被上传到 GitHub。您可以手动通过 下载一个发布版本,解压缩它,并将二进制文件复制到您的 $PATH 目录中,例如 /usr/local/bin

Cargo

如果您已经设置了 Rust 环境,您可以使用 cargo install 命令

cargo install licensit

Cargo 将构建 licensit 二进制文件并将其放置在 $HOME/.cargo

使用方法

licensit 简化了为您的项目创建和管理许可证文件的过程。

列出可用许可证

licensit list

显示所有支持的许可证。

显示许可证内容

要查看包含作者和年份的特定许可证的内容

licensit show [LICENSE] [--user USER] [--year YEAR]
  • [LICENSE]: 您要显示的许可证的 ID(例如,mitapache-2.0
  • --user [用户]:指定许可证持有者的名称。如果没有提供,licensit将按以下顺序使用以下源来确定用户名
    • LICENSE_AUTHOR环境变量
    • user.name条目位于$HOME/.gitconfig文件中
    • 与当前有效用户ID关联的名称
  • --year [年]:设置许可证有效的年份。如果没有指定,默认为当前年份

仅显示许可证模板(不带任何特定用户或年份信息)

licensit show [LICENSE] --template
  • [LICENSE]:您想显示模板的许可证的ID(例如,mitapache-2.0
  • --template:显示带有用户和年份占位符的许可证模板。此选项不能与--user--year一起使用

将许可证添加到您的项目

将许可证文件添加到您的当前目录

licensit add [LICENSE] [--user USER] [--year YEAR]

在当前目录中创建一个LICENSE文件,包含指定的详细信息。

帮助和信息

licensit help [COMMAND]

提供对特定命令的详细帮助(listshowadd)。

限制

要将新许可证添加到licensit,请将许可证模板文件放置在data/licenses目录或子目录中。然后,更新licenses.yml文件,指定短名称、许可证的全名、作者和年份的占位符(如有必要),以及data/licenses结构中模板文件的路径。这种设置允许通过添加新许可证来轻松扩展licensit,而无需更改现有代码库。

在当前版本的licensit中,测试主要关注命令执行,涵盖基本场景,例如通过选项指定用户或通过环境变量确定作者。因此,自动化测试有限,并使用MIT许可证模板作为代表示例。这些测试不涵盖未明确指定用户或作者的情景,可能遗漏了捕捉工具使用的完整范围。

许可证

本项目采用MIT许可证发布。有关完整的许可条件,请参阅LICENSE

依赖关系

~8–21MB
~262K SLoC