{"id":13559484,"url":"https://github.com/casey/intermodal","last_synced_at":"2026-04-01T18:05:56.563Z","repository":{"id":36978128,"uuid":"187931998","full_name":"casey/intermodal","owner":"casey","description":"A command-line utility for BitTorrent torrent file creation, verification, and more","archived":false,"fork":false,"pushed_at":"2026-03-19T03:32:39.000Z","size":4829,"stargazers_count":640,"open_issues_count":90,"forks_count":36,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-03-19T18:23:36.185Z","etag":null,"topics":["bittorrent","cli","rust"],"latest_commit_sha":null,"homepage":"https://imdl.io","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/casey.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-05-22T00:13:21.000Z","updated_at":"2026-03-19T03:31:06.000Z","dependencies_parsed_at":"2023-02-12T06:45:44.113Z","dependency_job_id":"d932efc7-aac7-4e92-a54b-557267f21ac2","html_url":"https://github.com/casey/intermodal","commit_stats":{"total_commits":282,"total_committers":13,"mean_commits":"21.692307692307693","dds":0.07801418439716312,"last_synced_commit":"70f06d5e1c7f1e666605188280da3ba90f4128ae"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/casey/intermodal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casey%2Fintermodal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casey%2Fintermodal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casey%2Fintermodal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casey%2Fintermodal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/casey","download_url":"https://codeload.github.com/casey/intermodal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casey%2Fintermodal/sbom","scorecard":{"id":267148,"data":{"date":"2025-08-11","repo":{"name":"github.com/casey/intermodal","commit":"e6c982aa49d5cad283f842e469b58c4471da8d3d"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.7,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 5/30 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":1,"reason":"2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yaml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/casey/intermodal/build.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yaml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/casey/intermodal/build.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yaml:102: update your workflow using https://app.stepsecurity.io/secureworkflow/casey/intermodal/build.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yaml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/casey/intermodal/build.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yaml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/casey/intermodal/build.yaml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1","Warn: containerImage not pinned by hash: Dockerfile:9: pin your Docker image by updating gcr.io/distroless/cc-debian12:nonroot to gcr.io/distroless/cc-debian12:nonroot@sha256:8f02d47496256aca25168c508024a60d81af996bbd2d89db4cf5cdf13dff2821","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Creative Commons Zero v1.0 Universal: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.1.14 not signed: https://api.github.com/repos/casey/intermodal/releases/173326586","Warn: release artifact v0.1.13 not signed: https://api.github.com/repos/casey/intermodal/releases/116005536","Warn: release artifact v0.1.12 not signed: https://api.github.com/repos/casey/intermodal/releases/32118242","Warn: release artifact v0.1.11 not signed: https://api.github.com/repos/casey/intermodal/releases/30833374","Warn: release artifact v0.1.10 not signed: https://api.github.com/repos/casey/intermodal/releases/27867480","Warn: release artifact v0.1.14 does not have provenance: https://api.github.com/repos/casey/intermodal/releases/173326586","Warn: release artifact v0.1.13 does not have provenance: https://api.github.com/repos/casey/intermodal/releases/116005536","Warn: release artifact v0.1.12 does not have provenance: https://api.github.com/repos/casey/intermodal/releases/32118242","Warn: release artifact v0.1.11 does not have provenance: https://api.github.com/repos/casey/intermodal/releases/30833374","Warn: release artifact v0.1.10 does not have provenance: https://api.github.com/repos/casey/intermodal/releases/27867480"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"11 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: RUSTSEC-2021-0139","Warn: Project is vulnerable to: RUSTSEC-2021-0145 / GHSA-g98v-hv3f-hcfr","Warn: Project is vulnerable to: RUSTSEC-2024-0375","Warn: Project is vulnerable to: RUSTSEC-2019-0036 / RUSTSEC-2020-0036 / GHSA-jq66-xh47-j9f3 / GHSA-r98r-j25q-rmpr","Warn: Project is vulnerable to: RUSTSEC-2023-0067","Warn: Project is vulnerable to: RUSTSEC-2023-0003 / GHSA-m4ch-rfv5-x5g3","Warn: Project is vulnerable to: RUSTSEC-2024-0421 / GHSA-h97m-ww89-6jmq","Warn: Project is vulnerable to: RUSTSEC-2024-0013 / GHSA-22q8-ghmq-63vf","Warn: Project is vulnerable to: RUSTSEC-2024-0370","Warn: Project is vulnerable to: RUSTSEC-2020-0163","Warn: Project is vulnerable to: RUSTSEC-2024-0320"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T12:22:51.705Z","repository_id":36978128,"created_at":"2025-08-17T12:22:51.705Z","updated_at":"2025-08-17T12:22:51.705Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290749,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bittorrent","cli","rust"],"created_at":"2024-08-01T13:00:26.914Z","updated_at":"2026-04-01T18:05:56.554Z","avatar_url":"https://github.com/casey.png","language":"Rust","readme":"\u003ch1 align=\"center\"\u003eIntermodal\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003eA 40' shipping container for the Internet\u003c/div\u003e\n\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://crates.io/crates/imdl\"\u003e\u003cimg src=\"https://img.shields.io/crates/v/imdl.svg?logo=rust\" alt=\"crate\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/casey/intermodal/actions\"\u003e\u003cimg src=\"https://github.com/casey/intermodal/workflows/Build/badge.svg\" alt=\"build\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://imdl.io/book/\"\u003e\u003cimg src=\"https://img.shields.io/static/v1?logo=read-the-docs\u0026label=book\u0026message=imdl.io\u0026color=informational\" alt=\"book\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/HaaT5Qz\"\u003e\u003cimg src=\"https://img.shields.io/discord/679283456261226516.svg?logo=discord\u0026color=7289da\" alt =\"chat\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\nIntermodal is a user-friendly and featureful command-line BitTorrent metainfo\nutility. The binary is called `imdl` and runs on Linux, Windows, and macOS.\n\nAt the moment, creation, viewing, and verification of `.torrent` files is\nsupported. See [the book](https://imdl.io/book/) for examples and usage\ninformation.\n\nFor more about the project and its goals, check out\n[this post](https://rodarmor.com/blog/intermodal).\n\n![demonstration animation](https://raw.githubusercontent.com/casey/intermodal/master/www/demo.gif)\n\n## Table of Contents\n\n  - [Supported Operating Systems](#supported-operating-systems)\n  - [Packages](#packages)\n  - [Pre-built binaries](#pre-built-binaries)\n  - [Linux and MacOS Install Script](#linux-and-macos-install-script)\n  - [Cargo](#cargo)\n  - [Shell Completion Scripts](#shell-completion-scripts)\n- [Usage](#usage)\n  - [Commands](#commands)\n  - [Examples](#examples)\n  - [FAQ](#faq)\n- [Notes for Packagers](#notes-for-packagers)\n  - [Build Artifacts](#build-artifacts)\n  - [Release Updates](#release-updates)\n- [Chat](#chat)\n- [Contributing](#contributing)\n- [Benchmarks](#benchmarks)\n- [Semantic Versioning](#semantic-versioning)\n- [Unstable Features](#unstable-features)\n- [New Releases](#new-releases)\n- [Acknowledgments](#acknowledgments)\n\n## Installation\n\n### Supported Operating Systems\n\n`imdl` supports Linux, MacOS, and Windows, and should work on other unix OSes.\nIf it does not, please open an issue!\n\n### Packages\n\n| Operating System                                                     | Package Manager                                    | Package                                                                                           | Command                                                                               |\n|:--------------------------------------------------------------------:|:--------------------------------------------------:|:-------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------:|\n| [Various](https://forge.rust-lang.org/release/platform-support.html) | [Cargo](https://www.rust-lang.org)                 | [imdl](https://crates.io/crates/imdl)                                                             | `cargo install imdl`                                                                  |\n| [Arch Linux](https://www.archlinux.org)                              | [Yay](https://github.com/Jguer/yay)                | [intermodal-bin](https://aur.archlinux.org/packages/intermodal-bin)\u003csup\u003eAUR\u003c/sup\u003e                 | `yay -S intermodal-bin`                                                               |\n| [Arch Linux](https://www.archlinux.org)                              | [Yay](https://github.com/Jguer/yay)                | [intermodal](https://aur.archlinux.org/packages/intermodal)\u003csup\u003eAUR\u003c/sup\u003e                         | `yay -S intermodal`                                                                   |\n| [Arch Linux](https://www.archlinux.org)                              | Manual Installation                                | [intermodal](https://aur.archlinux.org/packages/intermodal)\u003csup\u003eAUR\u003c/sup\u003e                         | [wiki](https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packages) |\n| [macOS](https://www.apple.com/macos/)                                | [Homebrew](https://brew.sh)                        | [intermodal](https://github.com/Homebrew/homebrew-core/blob/master/Formula/i/intermodal.rb)       | `brew install intermodal`                                                             |\n| [Void Linux](https://voidlinux.org)                                  | [XBPS](https://docs.voidlinux.org/xbps/index.html) | [intermodal](https://github.com/void-linux/void-packages/blob/master/srcpkgs/intermodal/template) | `xbps-install -S intermodal`                                                          |\n| [Windows](https://www.microsoft.com/en-us/windows)                   | [Scoop](https://scoop.sh)                          | [intermodal](https://github.com/ScoopInstaller/Main/blob/master/bucket/intermodal.json)           | `scoop install intermodal`                                                            |\n\n### Pre-built binaries\n\nPre-built binaries for Linux, macOS, and Windows can be found on\n[the releases page](https://github.com/casey/intermodal/releases).\n\n### Linux and MacOS Install Script\n\nYou can use the following command on Linux and MacOS to download the latest\nbinary, just replace `DEST` with the directory where you'd like to install the\n`imdl` binary:\n\n```sh\ncurl --proto '=https' --tlsv1.2 -sSf https://imdl.io/install.sh | bash -s -- --to DEST\n```\n\nA good place to install personal binaries is `~/bin`, which `install.sh` uses\nwhen `--to` is not supplied. To create the `~/bin` directory and install `imdl`\nthere, do:\n\n```sh\ncurl --proto '=https' --tlsv1.2 -sSf https://imdl.io/install.sh | bash\n```\n\nAdditionally, you'll have to add `~/bin` to the `PATH` environment variable,\nwhich the system uses to find executables. How to do this depends on the shell.\n\nFor `sh`, `bash`, and `zsh`, it should be done in `~/.profile`:\n\n```sh\necho 'export PATH=$HOME/bin:$PATH' \u003e\u003e ~/.profile\n```\n\nFor `fish`, it should be done in `~/.config/fish/config.fish`:\n\n```fish\necho 'set -gx PATH ~/bin $PATH' \u003e\u003e ~/.config/fish/config.fish\n```\n\n### Cargo\n\n`imdl` is written in [Rust](https://www.rust-lang.org/) and can be built from\nsource and installed with `cargo install imdl`. To get Rust, use the\n[rustup installer](https://rustup.rs/).\n\n### Shell Completion Scripts\n\nShell completion scripts for Bash, Zsh, Fish, PowerShell, and Elvish are\nincluded in all [binary releases](https://github.com/casey/imdl/releases).\n\nFor Bash, move `imdl.bash` to `$XDG_CONFIG_HOME/bash_completion` or\n`/etc/bash_completion.d/`.\n\nFor Fish, move `imdl.fish` to `$HOME/.config/fish/completions/`.\n\nFor the Z shell, move `_imdl` to one of your `$fpath` directories.\n\nFor PowerShell, add `. _imdl.ps1` to your PowerShell\n[profile](https://technet.microsoft.com/en-us/library/bb613488(v=vs.85).aspx)\n(note the leading period). If the `_imdl.ps1` file is not on your `PATH`, do\n`. /path/to/_imdl.ps1` instead.\n\nThe `imdl` binary can also generate the same completion scripts at runtime,\nusing the `completions` command:\n\n```sh\n$ imdl completions --shell bash \u003e imdl.bash\n```\n\nThe `--dir` argument can be used to write a completion script into a directory\nwith a filename that's appropriate for the shell. For example, the following\ncommand will write the Z shell completion script to `$fpath[0]/_imdl`:\n\n```sh\n$ imdl completions --shell zsh --dir $fpath[0]\n```\n\n\n## Usage\n\nOnline documentation is available in the book, hosted\n[here](https://imdl.io/book/).\n\n### Commands\n\nAdding `--help` to any command will print help text about how to use that\ncommand, including detailed information about any command-line arguments it\naccepts.\n\nSo, to get information about `imdl torrent create`, run `imdl torrent create\n--help`.\n\nAdditionally, the same help text is available online in\n[the book](https://imdl.io/book/).\n\n### Examples\n\nThe intro to [the book](https://imdl.io/book/) has a few simple examples. Check\n[the FAQ](https://imdl.io/book/faq.html) for more complex usage examples.\n\n### FAQ\n\nThe [FAQ](https://imdl.io/book/faq.html) covers a variety of specific\nuse-cases. If there's a use case you think should be covered, feel free to open\n[an issue](https://github.com/casey/intermodal/issues/new).\n\n\n## Notes for Packagers\n\nFirst off, thank you very much! If I can do anything to make packaging\nIntermodal easier, please don't hesistate to open\n[an issue](https://github.com/casey/intermodal/issues/new).\n\nThe Intermodal binary is called `imdl`, and the suggested name for the package\nis `intermodal`.\n\nIntermodal is written in Rust, and can be built with `cargo build --release`.\n\nIntermodal is distributed under the\n[Creative Commons Zero](https://creativecommons.org/share-your-work/public-domain/cc0/),\na public domain dedication with a fallback all-permissive license. The SPDX\nidentifier of the CC0 is [CC0-1.0](https://spdx.org/licenses/CC0-1.0.html).\n\n### Build Artifacts\n\nThere are a number of build artifacts: the binary, the man pages, the\nchangelog, and the shell completion scripts.\n\nThe binary is built with `cargo`, and the other artifacts are built `gen`,\nlocated in `bin/gen`.\n\nThe binary can be built with:\n\n    cargo build --release\n\n_`gen` requires [`help2man`](https://www.gnu.org/software/help2man/) to be\ninstalled, which is used to generate man pages from subcommand `--help`\nstrings._\n\nThe rest of the build artifacts can be built with `gen`:\n\n    cargo run --package gen -- --bin target/release/imdl all\n\n_The path to the built `imdl` executable should be passed to `gen` with the `--bin` flag._\n\nAfter running the above commands, the following table shows the location of the\nbuilt artifacts.\n\n| Artifact           | Location                   |\n|--------------------|----------------------------|\n| Binary             | `target/release/imdl`      |\n| Man Pages          | `target/gen/man/*`         |\n| Completion Scripts | `target/gen/completions/*` |\n| Changelog          | `target/gen/CHANGELOG.md`  |\n| Readme             | `target/gen/README.md`     |\n\n### Release Updates\n\nIf you'd like to receive an update whenever a new version is released, you can\nwatch the intermodal repository in \"Releases only\" mode.\n\n## Chat\n\nThe primary chat is on [Discord](https://discord.gg/HaaT5Qz).\n\n## Contributing\n\nYour bug reports, feature requests, pull requests, and design help are much\nappreciated!\n\nCheck out issues with the\n[\"good first issue\" label](https://github.com/casey/intermodal/labels/good%20first%20issue)\nfor some ideas.\n\nQuite a few files are generated by the program in `bin/gen`. Some files are\ngenerated from templates, so those templates should be edited to make changes\nto those files:\n\n- `bin/gen/templates/SUMMARY.md` -\u003e `book/src/SUMMARY.md`\n- `bin/gen/templates/README.md` -\u003e `README.md`\n- `bin/gen/templates/introduction.md` -\u003e `book/src/introduction.md`\n\nSome files are completely generated, and so shouldn't be manually edited at\nall:\n\n- `CHANGELOG.md`\n- `book/src/commands/*`\n- `completions/*`\n- `man/*`\n\nAll files can be regenerated by running `cargo run --package gen all`, or\n`just gen`, if you have [just](https://github.com/casey/just) installed.\n\nThe changelog is generated from YAML metadata in commit messages. Here is an\nexample commit message, with metadata:\n\n```\nUpgrade foo\n\nUpgrade foo to v7.5, which is much better.\n\ntype: changed\npr:\n- https://github.com/casey/intermodal/pull/1\nfixes:\n- https://github.com/intermodal/issues/2\n- https://github.com/intermodal/issues/3\n```\n\nThe only required field is `type`. To see the possible values for `type`, run\n`cargo run --package gen commit-types`.\n\n## Benchmarks\n\nPerformance benchmarks can be run with:\n\n```shell\n$ cargo bench --features bench\n```\n\nThe benchmark framework used is [`criterion`](https://github.com/bheisler/criterion.rs).\n\nThe bench targets themselves are in the `benches` directory. These targets call benchmarking functions in `src/benches.rs`, which are only enabled when the `bench` feature is enabled.\n\n## Semantic Versioning\n\nIntermodal follows [semantic versioning](https://semver.org/).\n\nIn particular:\n\n- v0.0.X: Breaking changes may be introduced at any time.\n- v0.X.Y: Breaking changes may only be introduced with a minor version number\n  bump.\n- vX.Y.Z: Breaking changes may only be introduced with a major version number\n  bump\n\n## Unstable Features\n\nTo avoid premature stabilization and excessive version churn, unstable features\nare unavailable unless the `--unstable` / `-u` flag is passed, for example\n`imdl --unstable torrent create .`. Unstable features may be changed or removed\nat any time.\n\n## New Releases\n\nNew releases of `imdl` are made frequently so that users quickly get access to\nnew features.\n\nRelease commit messages use the following template:\n\n```\nRelease x.y.z\n\n- Bump version: x.y.z → x.y.z\n- Update changelog\n- Update changelog contributor credits\n- Update dependencies\n```\n\n## Acknowledgments\n\nThe formatting of `imdl torrent show` is entirely copied from\n[torf](https://github.com/rndusr/torf-cli), an excellent command-line torrent\ncreator, editor, and viewer.\n","funding_links":[],"categories":["Rust","File"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasey%2Fintermodal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcasey%2Fintermodal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasey%2Fintermodal/lists"}