A starting point
Because you have to start somewhere
As some wise american farmer once said...
It ain't much, but it's honnest work.
At this point, Sh:erpa is getting closer to the minimal viable form, from which the essential tasks can be performed without needing much more aditions. The goal is not to have a "kitchen-sink" type of software, but rather a small and tested core, plus external Libraries and BashBoxes.
Big lines of v0.3.0 Sh:erpa
- Oneline install
- Self-update command
- Create/Remove Local Library
- Create/Remove Local BashBox
- Install/Update/Unistall Remote Lib or BashBox
- Home dashboard with packages recap'
- Aliases to quickly move around
- UnitTests and DocsGeneration
- Quick-edit key files
- The ScriptToBinary for completion sake
- Homemade toolbox for key features
Oneline install
All examples are using thse standard
sherpacommand, or the short alias. You can set it to whatever else via Aliasman, thesherpa aliasescommand is a shortcut foraliasman -eopening the file storing all aliases.
Self update
While at it, you can run some tests from $SDD/tests
Local Library & BashBox
Edit
Open key files with the default editor specified in basecamp.sh and defaulting to vim. Other expected editor codes are nvim or code. To add more editors without breaking the tests, come on Discord tell us about what you are using instead.
I'm comming from the future, and the short alias for
sherpais now justsfor fresh installs. If you have some sort alias troubles checksherpa aliasesto midify them.
Build
Run
Test
Doc
Compile
Remote BashBox & Lib
Dashboard
Date, hour, List of local Boxes & Libs or remote Boxes, plus the links to: Docs, Github, Discord.
Aliases
Upon installation, some default aliases are created, but they can be adjusted or completed with others with sherpa aliases via Aliasman.
YAML CRUD
A serie of helpers are enabeling simple data manipulation from yaml files. Can be used for logging, manipulating registers or creating little apps running from the terminal.
Source local or CDN-like
Pug semantics & Styles
Text is never 'just text', and having some semantics is nice.
Now, imagine a localLib in $SCD/lib/bob/style.sh with that code:
then, we import and use
There are so far 8 tags, 8 text colors, 8 background colors and 4 font styles, plus some functions that we can mix toger to compose our output.
Fetch API
...could go further, but that's the core of features that should be enough to get creative and imagine some neat BashBox to share with the community or for self-use.
What Next?
This is obviously far from over, and just a little beginning to get things started.
The BashBoxRegistry
To continue the integration of Cargo-like workflow, and to help with the promotion and dicoverability of the public BashBoxes from around git platforms, we'll find a way to reference/regroup those projects.
It will be somehow the cargo publish side of Sh:erpa, with meta-data like author, licence, description, in the Sherpa.yaml manifest and we'll see what else.
Unix philosophy ForTheWin! Build simple programs that do one thing, tested, and able to integrate with the other programs. Building things together is always better and way more Fun!
There are also some thoughts around per-project dependencies and a Lock-file to ensure stability of the builds despite evolving dependencies.
Discord & Contribution
If you have questions or not, come say hi on the Sh:erpa comunity server. When was the last time you was able to talk about Bash, CLI & Dev' with a random person? :) We are also strange.