lib tools

This commit is contained in:
Timur Gordon
2025-03-16 23:34:18 +01:00
parent 918cfd83ec
commit ef572f402d
4 changed files with 752 additions and 26 deletions

108
README.md
View File

@@ -1,32 +1,60 @@
# herolib
# Herolib
Herolib is an opinionated library primarily used by ThreeFold to automate cloud environments. It provides a comprehensive set of tools and utilities for cloud automation, git operations, documentation building, and more.
> [documentation of the library](https://freeflowuniverse.github.io/herolib/)
[![Build on Linux & Run tests](https://github.com/freeflowuniverse/herolib/actions/workflows/test.yml/badge.svg)](https://github.com/freeflowuniverse/herolib/actions/workflows/test.yml)
[![Deploy Documentation to Pages](https://github.com/freeflowuniverse/herolib/actions/workflows/documentation.yml/badge.svg)](https://github.com/freeflowuniverse/herolib/actions/workflows/documentation.yml)
## hero install for users
> [Complete Documentation](https://freeflowuniverse.github.io/herolib/)
## Table of Contents
- [Installation](#installation)
- [For Users](#for-users)
- [For Developers](#for-developers)
- [Features](#features)
- [Testing](#testing)
- [Contributing](#contributing)
- [Troubleshooting](#troubleshooting)
- [Additional Resources](#additional-resources)
## Installation
### For Users
The Hero tool can be installed with a single command:
```bash
curl https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_hero.sh > /tmp/install_hero.sh
bash /tmp/install_hero.sh
```
this tool can be used to work with git, build books, play with hero AI, ...
Hero will be installed in:
- `/usr/local/bin` for Linux
- `~/hero/bin` for macOS
## automated install for developers
After installation on macOS, you may need to:
```bash
source ~/.zprofile
# Or copy to system bin directory
cp ~/hero/bin/hero /usr/local/bin
```
The Hero tool can be used to work with git, build documentation, interact with Hero AI, and more.
### For Developers
For development purposes, use the automated installation script:
```bash
curl 'https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh
bash /tmp/install_v.sh --analyzer --herolib
#DONT FORGET TO START A NEW SHELL (otherwise the paths will not be set)
# IMPORTANT: Start a new shell after installation for paths to be set correctly
```
### details
```bash
~/code/github/freeflowuniverse/herolib/install_v.sh --help
#### Installation Options
```
V & HeroLib Installer Script
Usage: ~/code/github/freeflowuniverse/herolib/install_v.sh [options]
@@ -45,28 +73,47 @@ Examples:
~/code/github/freeflowuniverse/herolib/install_v.sh --analyzer
~/code/github/freeflowuniverse/herolib/install_v.sh --herolib
~/code/github/freeflowuniverse/herolib/install_v.sh --reset --analyzer # Fresh install of both
```
### to test
## Features
to run the basic tests, important !!!
Herolib provides a wide range of functionality:
- Cloud automation tools
- Git operations and management
- Documentation building
- Hero AI integration
- System management utilities
- And much more
Check the [cookbook](https://github.com/freeflowuniverse/herolib/tree/development/cookbook) for examples and use cases.
## Testing
Running tests is an essential part of development. To run the basic tests:
```bash
# Run all basic tests
~/code/github/freeflowuniverse/herolib/test_basic.vsh
```
```bash
# Run tests for a specific module
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/package_test.v
#for a full dir
# Run tests for an entire directory
vtest ~/code/github/freeflowuniverse/herolib/lib/osal
#to do al basic tests
~/code/github/freeflowuniverse/herolib/test_basic.vsh
```
vtest is an alias to test functionality
The `vtest` command is an alias for testing functionality.
## Contributing
We welcome contributions to Herolib! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) file for detailed information on:
- Setting up your development environment
- Understanding the repository structure
- Following our development workflow
- Making pull requests
- CI/CD processes
## Troubleshooting
@@ -106,6 +153,17 @@ This is caused by incompatibility between TCC and the half precision math functi
3. Save the file and try compiling again.
## important to read
## Additional Resources
- [aiprompts/starter/0_start_here.md](aiprompts/starter/0_start_here.md)
- [Complete Documentation](https://freeflowuniverse.github.io/herolib/)
- [Cookbook Examples](https://github.com/freeflowuniverse/herolib/tree/development/cookbook)
- [AI Prompts](aiprompts/starter/0_start_here.md)
## Generating Documentation
To generate documentation locally:
```bash
cd ~/code/github/freeflowuniverse/herolib
bash doc.sh
```