Tools
Terminal Tools
- Bash – Bash user input, loading, parsing, linting
- Console – Console tools for size, title, outputting links
- Cursor – Tools to moving the cursor around the terminal
- Decorate – Decorating text with colors and styles, color schemes, and decorate extensions
- Decoration Tools – Text decoration tools like bars, boxes, big text
Development Tools
- Application – Remember your application home directory upon login
- Approve – Interactively load
bashcode (with permission) - Binaries (direct)
- Completion – Add completions for Zesk Build
- Dump – Dump the environment, files, binary data, or stack information easily and securely.
- Developer – Tools for your
developer.sh - Interactive – Interactivity tools for user confirmation, menus, message display
- Linting – Clean and check your Bash code. commands.
- Readline – Edit
readlineconfiguration
Testing
- Assertion – Complete assertion and testing toolkit
- Coverage – EXPERIMENTAL. Bash coverage tools.
- Debug – Debugger for Bash programs
- Testing – Testing utilities available while using
testTools
Language Tools
- Argument – EXPERIMENTAL. Arguments specified using comments.
- Character – Character manipulation tools
- Date – Date validation, math, and "now"-related date generation
- Deprecated – Tools to help you upgrade deprecated code.
- Floating Point – Simple floating point number manipulation
- List Utilities – Text-based list manipulation with a separator character
- Map – Simple token replacement using environment files or variables
- Quote – Text quoting tools
- Text – Text manipulation tools
- Type – Type testing and tools
- URL – URL parsing and tools
- Usage – Self-documenting functions make life easier.
- Validate – Validate any input type with a suite of type validations, extensible.
- Sugar Core and Sugar – Syntactic sugar makes code easier to read, debug, and understand.
System Tools
- Directory – Directory manipulation tools
- Diff – File differencing tools.
- Environment – Anything you could need to manipulate, load, modify, or generate environment files.
- File – File attributes accessors, link tools
- Group – User group utilities (also User)
- Fingerprint – Fingerprint your code
- Log – Log rotation
- Network – Basic networking information, host name
- CPU – CPU count and load average
- Services – System services database (
/etc/services) - Process – Process tools
- Timing – Millisecond timing support across operating systems
- User – User database tools (also Group)
- Watch – Watch files or directories and take actions
Formats
- Environment – Anything you could need to manipulate, load, modify, or generate environment files.
- jUnit – Generate
junit.xmloutput for testing (EXPERIMENTAL) - JSON – Access and cleaning of JSON
- Markdown – Markdown tools
- tar – Tar platform neutral calls
- URL – URL parsing and tools
- XML – XML generation tools
- mdoc –
mdocgeneration tools (PLANNED)
Application Tools
- Build Application Tools – Access to
bin/envand related cache directories, installation of the installer and installer tools. - Deploy – Application deployment tools for a local environment
- Deployment – Application deployment tools for remote
- Documentation – Bash documentation automatically and beautifully
- Hook API – Application hooks let you change behavior across applications.
- Hooks – List of available or known hooks
- Identical – A system to keep your code and source in perfect harmony
- Installation – Install other software like
awsorpythonusing package managers or custom techniques. - Utilities – Some handy utilities
- Version – Release version management for your application
- Web – Web tools
Specifications
- Function interfaces
- Internal tools – Tools used during development of this project
Software Integration
- Amazon Web Services
- BitBucket
- Crontab
- daemontools
- Darwin
- Docker
- Docker Compose
- Git
- GitHub
- iTerm2
- MariaDB
- Markdown
- mkdocs
- Node
- NPM
- pcregrep
- PHP
- Python
- rsync
- SSH
- System V Init
- Terraform
- OpenTofu
- Vendor
- XDebug
Package Managers
Wrappers for these are in package tools.
We have added platform-generic installation names (see packageGroupInstall).
How to include in your scripts
The tools.sh shell is the only include you need in your scripts:
# shellcheck source=/dev/null
source "${BASH_SOURCE[0]%/*}/../bin/build/tools.sh"
(see bin/build/identical/__tools.sh for an error-reporting loader)
Once included, all functions here are available for use.