commits
the registry loader now reads org blocks and repo labes which cuts
repetition and makes the file approachable for new entries.
switching to config keeps the format flexible while still
parsing toml and lets us keep a single load path.
command handlers now resolve package names at
runtime and the proxy path uses the registry as well so the exaustive
enum matches are gone. examples now show real projects so
users can copy working patterns and the hurl files track release
assets to catch url drift early.
add hurl probes for package download urls so we can
smoke check release assets and catch renames earlier.
build the bin as hj and make the proxy shim use the bin name for
version probes and output. also updates clap display name and the readme
examples so users type the command that actually exists.
rewrite the readme to be short and task focused. less bullshit.
I have added a very basic structure for a hexagonal architecture
https://jmgarridopaz.github.io/content/hexagonalarchitecture.html
and introduces a github release adapter so the cli
path that stops owning http and json interfaces.
this is basically a small step toward hexagonal structure
where the core owns types and the edges own transport details.
in practice list-remote now builds a GithubReleaseProvider
and asks it for versions instead of building a url and
calling api + deserialize_response inline.
the adapter centralizes github calls, the ports defines the
ReleaseProvider interface and the domain becomes
the single source for package and version types, so the rest
of the code does not need to duplicate those definitions.
this makes it easier to test in the future and makes adding
another sources as just a small adapter change instead of a
command rewrite.
- add a rust-toolchain file to specify nightly toolchain and minimal set of components
- add a github actions workflow for ci to build and test on ubuntu and macos
- configure workflow to run for pushes and pull requests on the main branch
- update the version number to "0.10.0" in the cargo.toml file
- add a new command `jujutsu` with a version string parameter
- modify the `list.rs`, `list_remote.rs`, `uninstall.rs`, and `use_cmd.rs` files to include the `jujutsu` command
- include the `jujutsu` package type in various functions and enums in the `packages/mod.rs` file
- update the file types and platform names for the `jujutsu` package type in the `fs/mod.rs` file
- update the package version from "0.9.1" to "0.9.2"
- remove the "cardano" keyword from the list of keywords
- add support for the `scrolls` package type
- introduce support for `partnerchainnode`, `partnerchaincli`, and `sidechaincli`
- include platform support for the `reth` package type
- update the description of one of the core features from "cardano ecosystem tools" to "package"
- update the version of the `hyper-jump` package from `0.9.0` to `0.9.1`
- update the description of the `hyper-jump` package for a more efficient development workflow
- update the entry for `zellij` in the readme file
- update version from `0.8.6` to `0.9.0` in `cargo.toml`
- added support for installing 'neovim'
- minor refactor in the 'commands' enum definition
- add `neovim` to the list of commands in `list.rs`
- add `neovim` command to the `uninstall.rs` file.
- add support for managing versions of neovim client software
- add `neovim` to the list of available commands in the `list_remote` module
- add `neovim` to the list of available commands in the `use_cmd` module
- include `neovim` in the file type determination function in the `mod.rs` file for the `fs` module
- add `neovim` to the list of available packages and corresponding repositories in the `packages` module
- update the version of the package to "0.8.6" in cargo.toml
- add a new entry for managing versions of the `reth` client software in the readme
- update the version to "0.8.5" in the cargo.toml file.
- add the `reth` command under `commands` in `install.rs`, `list.rs`, `list_remote.rs`, `uninstall.rs`, and `use_cmd.rs`
- update the function `get_file_type` in `fs/mod.rs` to include `packagetype::reth`
- update the function `get_platform_name_download` in `fs/mod.rs` to include `packagetype::reth`
- update the function `get_file_type` in `fs/mod.rs` to include `packagetype::reth`
- add `package::reth(spec)` under `package` enum in `packages/mod.rs`
- add `packagetype::reth` under `packagetype` enum in `packages/mod.rs`
- update the `from_str` function in `packagetype` in `packages/mod.rs` to include `"reth"`
- update the `alias` function in `packagetype` in `packages/mod.rs` to include `packagetype::reth`
- update the version in `cargo.toml` from `0.8.3` to `0.8.4`
- delete the `plugin = false` line from `cargo.toml`
- remove the `get_platform_name()` function call in `install.rs`
- add the `zellij` package type and `zellij` enum variant in `install.rs`
- delete the implementation and comments related to `installresult` enum in `mod.rs`
- update the version of the package to "0.8.3" in cargo.toml
- add zellij package to manage versions of the zellij client software
- update binary installation path from `cardano-bin` to `bin`
- change the command syntax for `hyper-jump use` and `hyper-jump install` to use `<package-name>`
- update command syntax for `hyper-jump list` and `hyper-jump list-remote` to use `<package-name>`
- add zellij package type with corresponding implementations
- update the platform names for various packages
- add zellij package repo details
- refactor the `get_file_type` function to include zellij package type
- refactor the `get_platform_name_download` function to include zellij package type
- refactor the `get_platform_name_download` function to include zellij package type with specific platform details
- refactor the `copy_package_proxy` function to include zellij package details
- update the installation directory from `cardano-bin` to `bin`
- add zellij package details to `get_platform_name_download` function
- add github funding information in `funding.yml`
- update a typo in the readme file
- update the description of `hyper-jump`
- improve the clarity and detail of the tool's purpose
- update the version of the package from "0.8.1" to "0.8.2" in the cargo.toml file
- update the edition to "2021" in the cargo.toml file
- add handling for process exit status code 2
- update the description of the hyper-jump action in the readme file
- update the version from "0.8.0" to "0.8.1" in the cargo.toml file
- added support for partner chains cli
- added support for partner chains node
- added support for sidechain
- minor formatting changes in the readme file
- update the version of the package from "0.7.6" to "0.8.0" in the cargo.toml file
- update the edition to "2021" in the cargo.toml file
feat: introduce partner chains utilities
- add support for `sidechaincli` in the install, list, and uninstall commands
- add `sidechaincli` to the list of packages and commands
- update the `run` function to include handling `sidechaincli` package
- include `sidechaincli` in the `get_file_type` function
- implement platform handling for `sidechaincli` in multiple functions
- update `packagetype` enum and implementations to include `sidechaincli`
- modify `list_remote` and `use_cmd` functions to handle `sidechaincli`
- update download url formatting for the `sidechaincli` package
- add partnerchaincli and partnerchainnode commands to install, list, and uninstall
- add partnerchaincli and partnerchainnode enums to the commands enum in install, list, and uninstall files
- add `partnerchainnode` to the list of `commands`
- add `partnerchainnode` to the list of packages
- update the file type to `zip` for `partnerchainnode`
- update the platform name to `arm64` for `partnerchainnode`
- update how decompression streams are handled for `tar.gz`, `tar.xz`, and `zip` files
- add a `context_msg` to handle decompression and extraction failures for `tar.gz` and `tar.xz` files
- move the handling of decompression and extraction to a match statement for different file formats
- add `zip` and `zip-extract` dependencies to `cargo.toml`
- add `zip` and `zip_extract` modules to the `fs` module
- add logic to decompress and extract zip files in the `expand` function
- print the binary path in the `expand` function
- update the `partner-chain-cli` package type to `partner-chains-cli`
- print the location command in the `handle_package_process` function
- add the `partnerchaincli` enum to the `commands` enum in both `list_remote.rs` and `use_cmd.rs`
- add the `partnerchaincli` enum variant to the `run` function in `list_remote.rs` and `use_cmd.rs`
- update the `get_file_type` function in `fs/mod.rs` to handle `partnerchaincli`
- update the `get_platform_name_download` function in `fs/mod.rs` to include `partnerchaincli`
- add the `partnerchaincli` enum variant to the `package` enum in `packages/mod.rs`
- add the `partnerchaincli` enum variant to the `packagetype` enum in `packages/mod.rs`
- update the `display_alias`, `display_version`, and `display_binary_path` functions in `packages/mod.rs` to include `partnerchaincli`
- update the `format` string in the `get_download_url` function in `packages/mod.rs` to handle `partnerchaincli`
- update the version of the package from "0.6.6" to "0.7.6"
- update the edition to "2021"
- add support for `cardano submit api`
- remove redundant code for `cardano submit api` in the supported packages table
- add the `cardanosubmitapi` variant to the `commands` enum in the `install.rs`, `list.rs`, `list_remote.rs`, `uninstall.rs`, and `use_cmd.rs` files
- add the `cardanosubmitapi` variant to the `commands` enum in the `list_remote.rs` file
- add logic for the `cardanosubmitapi` variant in the `get_file_type` function in the `fs/mod.rs` file
- add logic for the `cardanosubmitapi` variant in various functions related to package types in the `packages/mod.rs` file
- add `install` and `uninstall` commands back to the enum
- remove `erase` from the `commands` enum
the registry loader now reads org blocks and repo labes which cuts
repetition and makes the file approachable for new entries.
switching to config keeps the format flexible while still
parsing toml and lets us keep a single load path.
command handlers now resolve package names at
runtime and the proxy path uses the registry as well so the exaustive
enum matches are gone. examples now show real projects so
users can copy working patterns and the hurl files track release
assets to catch url drift early.
I have added a very basic structure for a hexagonal architecture
https://jmgarridopaz.github.io/content/hexagonalarchitecture.html
and introduces a github release adapter so the cli
path that stops owning http and json interfaces.
this is basically a small step toward hexagonal structure
where the core owns types and the edges own transport details.
in practice list-remote now builds a GithubReleaseProvider
and asks it for versions instead of building a url and
calling api + deserialize_response inline.
the adapter centralizes github calls, the ports defines the
ReleaseProvider interface and the domain becomes
the single source for package and version types, so the rest
of the code does not need to duplicate those definitions.
this makes it easier to test in the future and makes adding
another sources as just a small adapter change instead of a
command rewrite.
- add a new command `jujutsu` with a version string parameter
- modify the `list.rs`, `list_remote.rs`, `uninstall.rs`, and `use_cmd.rs` files to include the `jujutsu` command
- include the `jujutsu` package type in various functions and enums in the `packages/mod.rs` file
- update the file types and platform names for the `jujutsu` package type in the `fs/mod.rs` file
- add `neovim` to the list of available commands in the `list_remote` module
- add `neovim` to the list of available commands in the `use_cmd` module
- include `neovim` in the file type determination function in the `mod.rs` file for the `fs` module
- add `neovim` to the list of available packages and corresponding repositories in the `packages` module
- add the `reth` command under `commands` in `install.rs`, `list.rs`, `list_remote.rs`, `uninstall.rs`, and `use_cmd.rs`
- update the function `get_file_type` in `fs/mod.rs` to include `packagetype::reth`
- update the function `get_platform_name_download` in `fs/mod.rs` to include `packagetype::reth`
- update the function `get_file_type` in `fs/mod.rs` to include `packagetype::reth`
- add `package::reth(spec)` under `package` enum in `packages/mod.rs`
- add `packagetype::reth` under `packagetype` enum in `packages/mod.rs`
- update the `from_str` function in `packagetype` in `packages/mod.rs` to include `"reth"`
- update the `alias` function in `packagetype` in `packages/mod.rs` to include `packagetype::reth`
- add zellij package to manage versions of the zellij client software
- update binary installation path from `cardano-bin` to `bin`
- change the command syntax for `hyper-jump use` and `hyper-jump install` to use `<package-name>`
- update command syntax for `hyper-jump list` and `hyper-jump list-remote` to use `<package-name>`
- add zellij package type with corresponding implementations
- update the platform names for various packages
- add zellij package repo details
- refactor the `get_file_type` function to include zellij package type
- refactor the `get_platform_name_download` function to include zellij package type
- refactor the `get_platform_name_download` function to include zellij package type with specific platform details
- refactor the `copy_package_proxy` function to include zellij package details
- update the installation directory from `cardano-bin` to `bin`
- add zellij package details to `get_platform_name_download` function
- update the version from "0.8.0" to "0.8.1" in the cargo.toml file
- add support for `sidechaincli` in the install, list, and uninstall commands
- add `sidechaincli` to the list of packages and commands
- update the `run` function to include handling `sidechaincli` package
- include `sidechaincli` in the `get_file_type` function
- implement platform handling for `sidechaincli` in multiple functions
- update `packagetype` enum and implementations to include `sidechaincli`
- modify `list_remote` and `use_cmd` functions to handle `sidechaincli`
- update download url formatting for the `sidechaincli` package
- add `zip` and `zip-extract` dependencies to `cargo.toml`
- add `zip` and `zip_extract` modules to the `fs` module
- add logic to decompress and extract zip files in the `expand` function
- print the binary path in the `expand` function
- update the `partner-chain-cli` package type to `partner-chains-cli`
- print the location command in the `handle_package_process` function
- add the `partnerchaincli` enum to the `commands` enum in both `list_remote.rs` and `use_cmd.rs`
- add the `partnerchaincli` enum variant to the `run` function in `list_remote.rs` and `use_cmd.rs`
- update the `get_file_type` function in `fs/mod.rs` to handle `partnerchaincli`
- update the `get_platform_name_download` function in `fs/mod.rs` to include `partnerchaincli`
- add the `partnerchaincli` enum variant to the `package` enum in `packages/mod.rs`
- add the `partnerchaincli` enum variant to the `packagetype` enum in `packages/mod.rs`
- update the `display_alias`, `display_version`, and `display_binary_path` functions in `packages/mod.rs` to include `partnerchaincli`
- update the `format` string in the `get_download_url` function in `packages/mod.rs` to handle `partnerchaincli`
- add the `cardanosubmitapi` variant to the `commands` enum in the `install.rs`, `list.rs`, `list_remote.rs`, `uninstall.rs`, and `use_cmd.rs` files
- add the `cardanosubmitapi` variant to the `commands` enum in the `list_remote.rs` file
- add logic for the `cardanosubmitapi` variant in the `get_file_type` function in the `fs/mod.rs` file
- add logic for the `cardanosubmitapi` variant in various functions related to package types in the `packages/mod.rs` file