https://github.com/singularitti/composablecommands.jl
A Julia package enabling straightforward composition and interpretation of command-line instructions for improved process management
https://github.com/singularitti/composablecommands.jl
command-line command-line-interface julia julia-package
Last synced: about 1 year ago
JSON representation
A Julia package enabling straightforward composition and interpretation of command-line instructions for improved process management
- Host: GitHub
- URL: https://github.com/singularitti/composablecommands.jl
- Owner: singularitti
- License: mit
- Created: 2023-06-26T05:59:58.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-18T16:53:46.000Z (over 1 year ago)
- Last Synced: 2025-06-14T04:03:41.743Z (about 1 year ago)
- Topics: command-line, command-line-interface, julia, julia-package
- Language: Julia
- Homepage: https://singularitti.github.io/ComposableCommands.jl/
- Size: 572 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# ComposableCommands
| **Documentation** | **Build Status** | **Others** |
| :--------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------: |
| [![Stable][docs-stable-img]][docs-stable-url] [![Dev][docs-dev-img]][docs-dev-url] | [![Build Status][gha-img]][gha-url] [![Build Status][appveyor-img]][appveyor-url] [![Build Status][cirrus-img]][cirrus-url] [![pipeline status][gitlab-img]][gitlab-url] [![Coverage][codecov-img]][codecov-url] | [![GitHub license][license-img]][license-url] [![Code Style: Blue][style-img]][style-url] |
[docs-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg
[docs-stable-url]: https://singularitti.github.io/ComposableCommands.jl/stable
[docs-dev-img]: https://img.shields.io/badge/docs-dev-blue.svg
[docs-dev-url]: https://singularitti.github.io/ComposableCommands.jl/dev
[gha-img]: https://github.com/singularitti/ComposableCommands.jl/workflows/CI/badge.svg
[gha-url]: https://github.com/singularitti/ComposableCommands.jl/actions
[appveyor-img]: https://ci.appveyor.com/api/projects/status/github/singularitti/ComposableCommands.jl?svg=true
[appveyor-url]: https://ci.appveyor.com/project/singularitti/ComposableCommands-jl
[cirrus-img]: https://api.cirrus-ci.com/github/singularitti/ComposableCommands.jl.svg
[cirrus-url]: https://cirrus-ci.com/github/singularitti/ComposableCommands.jl
[gitlab-img]: https://gitlab.com/singularitti/ComposableCommands.jl/badges/main/pipeline.svg
[gitlab-url]: https://gitlab.com/singularitti/ComposableCommands.jl/-/pipelines
[codecov-img]: https://codecov.io/gh/singularitti/ComposableCommands.jl/branch/main/graph/badge.svg
[codecov-url]: https://codecov.io/gh/singularitti/ComposableCommands.jl
[license-img]: https://img.shields.io/github/license/singularitti/ComposableCommands.jl
[license-url]: https://github.com/singularitti/ComposableCommands.jl/blob/main/LICENSE
[style-img]: https://img.shields.io/badge/code%20style-blue-4495d1.svg
[style-url]: https://github.com/invenia/BlueStyle
ComposableCommands.jl is a Julia package that simplifies the process of interpreting and
building command-line instructions. It allows you to programmatically construct commands,
manage command parameters, handle command redirections, and much more. This is particularly
useful when dealing with complex commands or dynamically generated commands.
The code is [hosted on GitHub](https://github.com/singularitti/ComposableCommands.jl),
with some continuous integration services to test its validity.
This repository is created and maintained by [@singularitti](https://github.com/singularitti).
You are very welcome to contribute.
## Features
- Abstract representation of command line commands, options, flags, and arguments
- Support for subcommands and command composition
- Redirection and pipe handling
- Intuitive API for building and interpreting commands
## Installation
The package can be installed with the Julia package manager.
From the Julia REPL, type `]` to enter the Pkg REPL mode and run:
```
pkg> add ComposableCommands
```
Or, equivalently, via the [`Pkg` API](https://pkgdocs.julialang.org/v1/getting-started/):
```julia
julia> import Pkg; Pkg.add("ComposableCommands")
```
## Documentation
- [**STABLE**][docs-stable-url] — **documentation of the most recently tagged version.**
- [**DEV**][docs-dev-url] — _documentation of the in-development version._
## Project status
The package is tested against, and being developed for, Julia `1.6` and above on Linux,
macOS, and Windows.
## Questions and contributions
You are welcome to post usage questions on [our discussion page][discussions-url].
Contributions are very welcome, as are feature requests and suggestions. Please open an
[issue][issues-url] if you encounter any problems. The [Contributing](@ref) page has
guidelines that should be followed when opening pull requests and contributing code.
[discussions-url]: https://github.com/singularitti/ComposableCommands.jl/discussions
[issues-url]: https://github.com/singularitti/ComposableCommands.jl/issues
## License
ComposableCommands.jl is released under the MIT License. See [LICENSE](LICENSE) for details.