This commit is contained in:
2025-09-24 21:06:37 +04:00
parent 2bc9c0b4e0
commit aec8908205
65 changed files with 153 additions and 153 deletions

View File

@@ -24,7 +24,7 @@ Thank you for your interest in contributing to Herolib! This document provides g
For developers, you can use the automated installation script: For developers, you can use the automated installation script:
```bash ```bash
curl 'https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh curl 'https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh
bash /tmp/install_v.sh --analyzer --herolib bash /tmp/install_v.sh --analyzer --herolib
# IMPORTANT: Start a new shell after installation for paths to be set correctly # IMPORTANT: Start a new shell after installation for paths to be set correctly
``` ```
@@ -34,7 +34,7 @@ Alternatively, you can manually set up the environment:
```bash ```bash
mkdir -p ~/code/github/freeflowuniverse mkdir -p ~/code/github/freeflowuniverse
cd ~/code/github/freeflowuniverse cd ~/code/github/freeflowuniverse
git clone git@github.com:freeflowuniverse/herolib.git git clone git@github.com:incubaid/herolib.git
cd herolib cd herolib
# checkout development branch for most recent changes # checkout development branch for most recent changes
git checkout development git checkout development
@@ -87,10 +87,10 @@ Before submitting a pull request, ensure all tests pass:
./test_basic.vsh ./test_basic.vsh
# Run tests for a specific module # Run tests for a specific module
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/package_test.v vtest ~/code/github/incubaid/herolib/lib/osal/package_test.v
# Run tests for an entire directory # Run tests for an entire directory
vtest ~/code/github/freeflowuniverse/herolib/lib/osal vtest ~/code/github/incubaid/herolib/lib/osal
``` ```
The test script (`test_basic.vsh`) manages test execution and caching to optimize performance. It automatically skips tests listed in the ignore or error sections of the script. The test script (`test_basic.vsh`) manages test execution and caching to optimize performance. It automatically skips tests listed in the ignore or error sections of the script.
@@ -148,7 +148,7 @@ This workflow automatically updates the documentation on GitHub Pages when chang
To generate documentation locally: To generate documentation locally:
```bash ```bash
cd ~/code/github/freeflowuniverse/herolib cd ~/code/github/incubaid/herolib
bash doc.sh bash doc.sh
``` ```
@@ -179,5 +179,5 @@ For more details, see the [README.md](README.md) troubleshooting section.
## Additional Resources ## Additional Resources
- [Herolib Documentation](https://freeflowuniverse.github.io/herolib/) - [Herolib Documentation](https://freeflowuniverse.github.io/herolib/)
- [Cookbook Examples](https://github.com/freeflowuniverse/herolib/tree/development/cookbook) - [Cookbook Examples](https://github.com/incubaid/herolib/tree/development/cookbook)
- [AI Prompts](aiprompts/starter/0_start_here.md) - [AI Prompts](aiprompts/starter/0_start_here.md)

View File

@@ -2,8 +2,8 @@
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. 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.
[![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) [![Build on Linux & Run tests](https://github.com/incubaid/herolib/actions/workflows/test.yml/badge.svg)](https://github.com/incubaid/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) [![Deploy Documentation to Pages](https://github.com/incubaid/herolib/actions/workflows/documentation.yml/badge.svg)](https://github.com/incubaid/herolib/actions/workflows/documentation.yml)
> [Complete Documentation](https://freeflowuniverse.github.io/herolib/) > [Complete Documentation](https://freeflowuniverse.github.io/herolib/)
@@ -14,7 +14,7 @@ Herolib is an opinionated library primarily used by ThreeFold to automate cloud
The Hero tool can be installed with a single command: The Hero tool can be installed with a single command:
```bash ```bash
curl https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_hero.sh | bash curl https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_hero.sh | bash
``` ```
Hero will be installed in: Hero will be installed in:
@@ -34,11 +34,11 @@ The Hero tool can be used to work with git, build documentation, interact with H
For development purposes, use the automated installation script: For development purposes, use the automated installation script:
```bash ```bash
curl 'https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh curl 'https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh
bash /tmp/install_v.sh --analyzer --herolib bash /tmp/install_v.sh --analyzer --herolib
#do not forget to do the following this makes sure vtest and vrun exists #do not forget to do the following this makes sure vtest and vrun exists
cd ~/code/github/freeflowuniverse/herolib cd ~/code/github/incubaid/herolib
v install_herolib.vsh v install_herolib.vsh
# IMPORTANT: Start a new shell after installation for paths to be set correctly # IMPORTANT: Start a new shell after installation for paths to be set correctly
@@ -50,7 +50,7 @@ v install_herolib.vsh
``` ```
V & HeroLib Installer Script V & HeroLib Installer Script
Usage: ~/code/github/freeflowuniverse/herolib/install_v.sh [options] Usage: ~/code/github/incubaid/herolib/install_v.sh [options]
Options: Options:
-h, --help Show this help message -h, --help Show this help message
@@ -60,12 +60,12 @@ Options:
--herolib Install our herolib --herolib Install our herolib
Examples: Examples:
~/code/github/freeflowuniverse/herolib/install_v.sh ~/code/github/incubaid/herolib/install_v.sh
~/code/github/freeflowuniverse/herolib/install_v.sh --reset ~/code/github/incubaid/herolib/install_v.sh --reset
~/code/github/freeflowuniverse/herolib/install_v.sh --remove ~/code/github/incubaid/herolib/install_v.sh --remove
~/code/github/freeflowuniverse/herolib/install_v.sh --analyzer ~/code/github/incubaid/herolib/install_v.sh --analyzer
~/code/github/freeflowuniverse/herolib/install_v.sh --herolib ~/code/github/incubaid/herolib/install_v.sh --herolib
~/code/github/freeflowuniverse/herolib/install_v.sh --reset --analyzer # Fresh install of both ~/code/github/incubaid/herolib/install_v.sh --reset --analyzer # Fresh install of both
``` ```
## Features ## Features
@@ -90,7 +90,7 @@ Herolib provides a wide range of functionality:
- System management utilities - System management utilities
- And much more - And much more
Check the [cookbook](https://github.com/freeflowuniverse/herolib/tree/development/cookbook) for examples and use cases. Check the [cookbook](https://github.com/incubaid/herolib/tree/development/cookbook) for examples and use cases.
## Testing ## Testing
@@ -98,13 +98,13 @@ Running tests is an essential part of development. To run the basic tests:
```bash ```bash
# Run all basic tests # Run all basic tests
~/code/github/freeflowuniverse/herolib/test_basic.vsh ~/code/github/incubaid/herolib/test_basic.vsh
# Run tests for a specific module # Run tests for a specific module
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/package_test.v vtest ~/code/github/incubaid/herolib/lib/osal/package_test.v
# Run tests for an entire directory # Run tests for an entire directory
vtest ~/code/github/freeflowuniverse/herolib/lib/osal vtest ~/code/github/incubaid/herolib/lib/osal
``` ```
The `vtest` command is an alias for testing functionality. The `vtest` command is an alias for testing functionality.
@@ -160,7 +160,7 @@ This is caused by incompatibility between TCC and the half precision math functi
## Additional Resources ## Additional Resources
- [Complete Documentation](https://freeflowuniverse.github.io/herolib/) - [Complete Documentation](https://freeflowuniverse.github.io/herolib/)
- [Cookbook Examples](https://github.com/freeflowuniverse/herolib/tree/development/cookbook) - [Cookbook Examples](https://github.com/incubaid/herolib/tree/development/cookbook)
- [AI Prompts](aiprompts/starter/0_start_here.md) - [AI Prompts](aiprompts/starter/0_start_here.md)
## Generating Documentation ## Generating Documentation
@@ -168,7 +168,7 @@ This is caused by incompatibility between TCC and the half precision math functi
To generate documentation locally: To generate documentation locally:
```bash ```bash
cd ~/code/github/freeflowuniverse/herolib cd ~/code/github/incubaid/herolib
bash doc.sh bash doc.sh
``` ```

View File

@@ -19,6 +19,6 @@ travelcost is 3% of revenue
create me the full heroscript which gives me this biz model create me the full heroscript which gives me this biz model
create bizmodel.heroscript in ~/code/github/freeflowuniverse/herolib/examples/biztools/generated_ai create bizmodel.heroscript in ~/code/github/incubaid/herolib/examples/biztools/generated_ai
as well as a do.vsh file which executes the heroscript and does a pprint, in do.vsh , call play with heroscript_path arg as well as a do.vsh file which executes the heroscript and does a pprint, in do.vsh , call play with heroscript_path arg

View File

@@ -27,7 +27,7 @@ when I generate vlang scripts I will always use .vsh extension and use following
As AI agent I should also execute .v or .vsh scripts with vrun As AI agent I should also execute .v or .vsh scripts with vrun
```bash ```bash
vrun ~/code/github/freeflowuniverse/herolib/examples/biztools/bizmodel.vsh vrun ~/code/github/incubaid/herolib/examples/biztools/bizmodel.vsh
``` ```
## executing test scripts ## executing test scripts
@@ -35,7 +35,7 @@ vrun ~/code/github/freeflowuniverse/herolib/examples/biztools/bizmodel.vsh
instruct user to test as follows (vtest is an alias which gets installed when herolib gets installed), can be done for a dir and for a file instruct user to test as follows (vtest is an alias which gets installed when herolib gets installed), can be done for a dir and for a file
```bash ```bash
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/package_test.v vtest ~/code/github/incubaid/herolib/lib/osal/package_test.v
``` ```
- use ~ so it works over all machines - use ~ so it works over all machines

View File

@@ -9,7 +9,7 @@ import freeflowuniverse.herolib...
``` ```
the files are in ~/code/github/freeflowuniverse/herolib/examples for herolib the files are in ~/code/github/incubaid/herolib/examples for herolib
## important instructions ## important instructions

View File

@@ -23,7 +23,7 @@ when I generate vlang scripts I will always use .vsh extension and use following
As AI agent I should also execute v or .vsh scripts with vrun As AI agent I should also execute v or .vsh scripts with vrun
```bash ```bash
vrun ~/code/github/freeflowuniverse/herolib/examples/biztools/bizmodel.vsh vrun ~/code/github/incubaid/herolib/examples/biztools/bizmodel.vsh
``` ```
## executing test scripts ## executing test scripts
@@ -31,7 +31,7 @@ vrun ~/code/github/freeflowuniverse/herolib/examples/biztools/bizmodel.vsh
instruct user to test as follows (vtest is an alias which gets installed when herolib gets installed), can be done for a dir and for a file instruct user to test as follows (vtest is an alias which gets installed when herolib gets installed), can be done for a dir and for a file
```bash ```bash
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/package_test.v vtest ~/code/github/incubaid/herolib/lib/osal/package_test.v
``` ```
- use ~ so it works over all machines - use ~ so it works over all machines

View File

@@ -1,6 +1,6 @@
params: params:
- filepath: /Users/despiegk/code/github/freeflowuniverse/herolib/lib/clients/openai - filepath: /Users/despiegk/code/github/incubaid/herolib/lib/clients/openai
make a dense overview of the code above, easy to understand for AI make a dense overview of the code above, easy to understand for AI

View File

@@ -1,5 +1,5 @@
<file_map> <file_map>
/Users/despiegk/code/github/freeflowuniverse/herolib /Users/despiegk/code/github/incubaid/herolib
└── aiprompts └── aiprompts
└── herolib_core └── herolib_core
├── core_curdir_example.md ├── core_curdir_example.md
@@ -467,7 +467,7 @@
</file_map> </file_map>
<file_contents> <file_contents>
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_curdir_example.md File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_curdir_example.md
```md ```md
# Getting the Current Script's Path in Herolib/V Shell # Getting the Current Script's Path in Herolib/V Shell
@@ -483,7 +483,7 @@ echo "Current scripts directory: ${script_directory}"
``` ```
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_globals.md File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_globals.md
```md ```md
## how to remember clients, installers as a global ## how to remember clients, installers as a global
@@ -531,7 +531,7 @@ pub fn default() !&SiteConfig {
``` ```
``` ```
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_heroscript_basics.md File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_heroscript_basics.md
```md ```md
# HeroScript: Vlang Integration # HeroScript: Vlang Integration
@@ -590,7 +590,7 @@ For detailed information on parameter retrieval methods (e.g., `p.get()`, `p.get
``` ```
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_heroscript_playbook.md File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_heroscript_playbook.md
```md ```md
# PlayBook # PlayBook
@@ -620,7 +620,7 @@ playcmds.run(mut plbook)!
``` ```
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_http_client.md File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_http_client.md
```md ```md
# HTTPConnection Module # HTTPConnection Module
@@ -732,7 +732,7 @@ user := conn.get_json_generic[User](
``` ```
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_osal.md File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_osal.md
```md ```md
# OSAL Core Module - Key Capabilities (freeflowuniverse.herolib.osal.core) # OSAL Core Module - Key Capabilities (freeflowuniverse.herolib.osal.core)
@@ -798,7 +798,7 @@ this document has info about the most core functions, more detailed info can be
``` ```
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_ourtime.md File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_ourtime.md
```md ```md
# OurTime Module # OurTime Module
@@ -895,7 +895,7 @@ t_invalid := ourtime.new('bad-date') or {
``` ```
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_params.md File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_params.md
```md ```md
# Parameter Parsing in Vlang # Parameter Parsing in Vlang
@@ -1009,7 +1009,7 @@ Lists are typically comma-separated strings (e.g., `users: "john,jane,bob"`).
``` ```
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_paths.md File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_paths.md
```md ```md
# Pathlib Usage Guide # Pathlib Usage Guide
@@ -1164,7 +1164,7 @@ if file_path.exists() {
``` ```
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_text.md File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_text.md
```md ```md
# TextTools Module # TextTools Module
@@ -1268,7 +1268,7 @@ assert hello_world == texttools.name_fix("Hello World!")
``` ```
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_ui_console.md File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_ui_console.md
```md ```md
# module ui.console # module ui.console
@@ -1473,7 +1473,7 @@ enum Style {
``` ```
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_vshell.md File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_vshell.md
```md ```md
# how to run the vshell example scripts # how to run the vshell example scripts
@@ -1486,7 +1486,7 @@ import freeflowuniverse.herolib...
``` ```
the files are in ~/code/github/freeflowuniverse/herolib/examples for herolib the files are in ~/code/github/incubaid/herolib/examples for herolib
## important instructions ## important instructions
@@ -2456,7 +2456,7 @@ $NAME = finance
walk over all models from biz: db/heromodels/src/models/$NAME in the rust repo walk over all models from biz: db/heromodels/src/models/$NAME in the rust repo
create nice structured public models in Vlang (V) see instructions in herlolib create nice structured public models in Vlang (V) see instructions in herlolib
put the results in /Users/despiegk/code/github/freeflowuniverse/herolib/lib/hero/models/$NAME put the results in /Users/despiegk/code/github/incubaid/herolib/lib/hero/models/$NAME
put decorator on fields which need to be indexed: use @[index] for that at end of line of the property of the struct put decorator on fields which need to be indexed: use @[index] for that at end of line of the property of the struct

View File

@@ -3,7 +3,7 @@ $NAME = calendar
walk over all models from biz: db/heromodels/src/models/$NAME in the rust repo walk over all models from biz: db/heromodels/src/models/$NAME in the rust repo
create nice structured public models in Vlang (V) see instructions in herlolib create nice structured public models in Vlang (V) see instructions in herlolib
put the results in /Users/despiegk/code/github/freeflowuniverse/herolib/lib/hero/models/$NAME put the results in /Users/despiegk/code/github/incubaid/herolib/lib/hero/models/$NAME
put decorator on fields which need to be indexed: use @[index] for that at end of line of the property of the struct put decorator on fields which need to be indexed: use @[index] for that at end of line of the property of the struct

View File

@@ -31,7 +31,7 @@ if additional_args.len > 0 {
} }
// Change to the hero directory // Change to the hero directory
hero_dir := os.join_path(os.home_dir(), 'code/github/freeflowuniverse/herolib/cli') hero_dir := os.join_path(os.home_dir(), 'code/github/incubaid/herolib/cli')
os.chdir(hero_dir) or { panic('Failed to change directory to ${hero_dir}: ${err}') } os.chdir(hero_dir) or { panic('Failed to change directory to ${hero_dir}: ${err}') }
// Set HEROPATH based on OS // Set HEROPATH based on OS

View File

@@ -93,9 +93,9 @@ fn hero_upload() ! {
} }
fn main() { fn main() {
// os.execute_or_panic('${os.home_dir()}/code/github/freeflowuniverse/herolib/cli/compile.vsh -p') // os.execute_or_panic('${os.home_dir()}/code/github/incubaid/herolib/cli/compile.vsh -p')
println('compile hero can take 60 sec+ on osx.') println('compile hero can take 60 sec+ on osx.')
os.execute_or_panic('${os.home_dir()}/code/github/freeflowuniverse/herolib/cli/compile.vsh -p') os.execute_or_panic('${os.home_dir()}/code/github/incubaid/herolib/cli/compile.vsh -p')
println('upload:') println('upload:')
hero_upload() or { hero_upload() or {
eprintln(err) eprintln(err)

View File

@@ -31,7 +31,7 @@ if additional_args.len > 0 {
} }
// Change to the vdo directory // Change to the vdo directory
hero_dir := os.join_path(os.home_dir(), 'code/github/freeflowuniverse/herolib/cli') hero_dir := os.join_path(os.home_dir(), 'code/github/incubaid/herolib/cli')
os.chdir(hero_dir) or { panic('Failed to change directory to ${hero_dir}: ${err}') } os.chdir(hero_dir) or { panic('Failed to change directory to ${hero_dir}: ${err}') }
// Set HEROPATH based on OS // Set HEROPATH based on OS

View File

@@ -48,7 +48,7 @@ abs_dir_of_script := dir(@FILE)
// Reset symlinks if requested // Reset symlinks if requested
println('Resetting all symlinks...') println('Resetting all symlinks...')
os.rm('${os.home_dir()}/.vmodules/freeflowuniverse/herolib') or {} os.rm('${os.home_dir()}/.vmodules/incubaid/herolib') or {}
// Create necessary directories // Create necessary directories
os.mkdir_all('${os.home_dir()}/.vmodules/freeflowuniverse') or { os.mkdir_all('${os.home_dir()}/.vmodules/freeflowuniverse') or {
@@ -56,7 +56,7 @@ os.mkdir_all('${os.home_dir()}/.vmodules/freeflowuniverse') or {
} }
// Create new symlinks // Create new symlinks
os.symlink('${abs_dir_of_script}/lib', '${os.home_dir()}/.vmodules/freeflowuniverse/herolib') or { os.symlink('${abs_dir_of_script}/lib', '${os.home_dir()}/.vmodules/incubaid/herolib') or {
panic('Failed to create herolib symlink: ${err}') panic('Failed to create herolib symlink: ${err}')
} }

View File

@@ -207,7 +207,7 @@ function os_update {
function hero_lib_pull { function hero_lib_pull {
pushd $DIR_CODE/github/freeflowuniverse/herolib 2>&1 >> /dev/null pushd $DIR_CODE/github/incubaid/herolib 2>&1 >> /dev/null
if [[ $(git status -s) ]]; then if [[ $(git status -s) ]]; then
echo "There are uncommitted changes in the Git repository herolib." echo "There are uncommitted changes in the Git repository herolib."
return 1 return 1
@@ -219,12 +219,12 @@ function hero_lib_pull {
function hero_lib_get { function hero_lib_get {
mkdir -p $DIR_CODE/github/freeflowuniverse mkdir -p $DIR_CODE/github/freeflowuniverse
if [[ -d "$DIR_CODE/github/freeflowuniverse/herolib" ]] if [[ -d "$DIR_CODE/github/incubaid/herolib" ]]
then then
hero_lib_pull hero_lib_pull
else else
pushd $DIR_CODE/github/freeflowuniverse 2>&1 >> /dev/null pushd $DIR_CODE/github/freeflowuniverse 2>&1 >> /dev/null
git clone --depth 1 --no-single-branch https://github.com/freeflowuniverse/herolib.git git clone --depth 1 --no-single-branch https://github.com/incubaid/herolib.git
popd 2>&1 >> /dev/null popd 2>&1 >> /dev/null
fi fi
} }
@@ -461,7 +461,7 @@ check_and_start_redis
if [ "$HEROLIB" = true ]; then if [ "$HEROLIB" = true ]; then
hero_lib_get hero_lib_get
~/code/github/freeflowuniverse/herolib/install_herolib.vsh ~/code/github/incubaid/herolib/install_herolib.vsh
fi fi

View File

@@ -5,6 +5,6 @@ this will make sure we load the appropriate biz model
```js ```js
!!bizmodel.load name:'default' url:'https://github.com/freeflowuniverse/herolib/tree/development/bizmodel/example/data' !!bizmodel.load name:'default' url:'https://github.com/incubaid/herolib/tree/development/bizmodel/example/data'
``` ```

View File

@@ -4,18 +4,18 @@ import freeflowuniverse.herolib.core.generator.generic as generator
import freeflowuniverse.herolib.core.pathlib import freeflowuniverse.herolib.core.pathlib
// mut args := generator.GeneratorArgs{ // mut args := generator.GeneratorArgs{
// path: '~/code/github/freeflowuniverse/herolib/lib/clients' // path: '~/code/github/incubaid/herolib/lib/clients'
// force: true // force: true
// } // }
mut args2 := generator.GeneratorArgs{ mut args2 := generator.GeneratorArgs{
path: '~/code/github/freeflowuniverse/herolib/lib/develop/heroprompt' path: '~/code/github/incubaid/herolib/lib/develop/heroprompt'
force: true force: true
} }
generator.scan(args2)! generator.scan(args2)!
// mut args := generator.GeneratorArgs{ // mut args := generator.GeneratorArgs{
// path: '~/code/github/freeflowuniverse/herolib/lib/installers' // path: '~/code/github/incubaid/herolib/lib/installers'
// force: true // force: true
// } // }

View File

@@ -20,7 +20,7 @@ heroscript := "
recursive:false recursive:false
!!git.clone !!git.clone
url:'https://github.com/freeflowuniverse/herolib.git' url:'https://github.com/incubaid/herolib.git'
light:true light:true
recursive:false recursive:false

View File

@@ -4,13 +4,13 @@ import freeflowuniverse.herolib.develop.heroprompt
import os import os
// mut workspace := heroprompt.new( // mut workspace := heroprompt.new(
// path: '${os.home_dir()}/code/github/freeflowuniverse/herolib' // path: '${os.home_dir()}/code/github/incubaid/herolib'
// name: 'workspace' // name: 'workspace'
// )! // )!
mut workspace := heroprompt.get( mut workspace := heroprompt.get(
name: 'example_ws' name: 'example_ws'
path: '${os.home_dir()}/code/github/freeflowuniverse/herolib' path: '${os.home_dir()}/code/github/incubaid/herolib'
create: true create: true
)! )!
@@ -18,9 +18,9 @@ println('workspace (initial): ${workspace}')
println('selected (initial): ${workspace.selected_children()}') println('selected (initial): ${workspace.selected_children()}')
// Add a directory and a file // Add a directory and a file
workspace.add_dir(path: '${os.home_dir()}/code/github/freeflowuniverse/herolib/docker')! workspace.add_dir(path: '${os.home_dir()}/code/github/incubaid/herolib/docker')!
workspace.add_file( workspace.add_file(
path: '${os.home_dir()}/code/github/freeflowuniverse/herolib/docker/docker_ubuntu_install.sh' path: '${os.home_dir()}/code/github/incubaid/herolib/docker/docker_ubuntu_install.sh'
)! )!
println('selected (after add): ${workspace.selected_children()}') println('selected (after add): ${workspace.selected_children()}')

View File

@@ -1 +1 @@
hero run -u https://github.com/freeflowuniverse/herolib/tree/development_juggler/examples/develop/juggler/hero/playbook hero run -u https://github.com/incubaid/herolib/tree/development_juggler/examples/develop/juggler/hero/playbook

View File

@@ -19,7 +19,7 @@ fn do1() ! {
osal.rsync(source: myexamplepath, dest: tstdir, delete: true)! osal.rsync(source: myexamplepath, dest: tstdir, delete: true)!
cmd := osal.rsync_cmd(source: myexamplepath, dest: tstdir)! cmd := osal.rsync_cmd(source: myexamplepath, dest: tstdir)!
println(cmd) println(cmd)
//"rsync -avz --no-perms --exclude='*.pyc' --exclude='*.bak' --exclude='*dSYM' /Users/despiegk1/code/github/freeflowuniverse/herolib/examples /tmp/testsync" //"rsync -avz --no-perms --exclude='*.pyc' --exclude='*.bak' --exclude='*dSYM' /Users/despiegk1/code/github/incubaid/herolib/examples /tmp/testsync"
} }
fn do2() ! { fn do2() ! {

View File

@@ -3,9 +3,9 @@
# SSH and rsync configuration # SSH and rsync configuration
SSH_HOST="verse.tf" SSH_HOST="verse.tf"
SSH_USER="root" SSH_USER="root"
SOURCE_DIR="${HOME}/code/github/freeflowuniverse/herolib/" SOURCE_DIR="${HOME}/code/github/incubaid/herolib/"
DEST_DIR="/root/code/github/freeflowuniverse/herolib/" DEST_DIR="/root/code/github/incubaid/herolib/"
FINAL_DIR="/root/code/github/freeflowuniverse/herolib/examples/hero" FINAL_DIR="/root/code/github/incubaid/herolib/examples/hero"
# Check if the source directory exists, if not stop # Check if the source directory exists, if not stop
if [ ! -d "$SOURCE_DIR" ]; then if [ ! -d "$SOURCE_DIR" ]; then

View File

@@ -7,7 +7,7 @@ import os
import markdown import markdown
import freeflowuniverse.herolib.data.markdownparser2 import freeflowuniverse.herolib.data.markdownparser2
path1 := '${os.home_dir()}/code/github/freeflowuniverse/herolib/examples/web/mdbook_markdown/content/cybercity.md' path1 := '${os.home_dir()}/code/github/incubaid/herolib/examples/web/mdbook_markdown/content/cybercity.md'
text := os.read_file(path1)! text := os.read_file(path1)!

View File

@@ -8,7 +8,7 @@ version='1.0.33'
# Base URL for GitHub releases # Base URL for GitHub releases
base_url="https://github.com/freeflowuniverse/herolib/releases/download/v${version}" base_url="https://github.com/incubaid/herolib/releases/download/v${version}"
# Select the URL based on the platform # Select the URL based on the platform
if [[ "$os_name" == "Linux" && "$arch_name" == "x86_64" ]]; then if [[ "$os_name" == "Linux" && "$arch_name" == "x86_64" ]]; then

View File

@@ -48,7 +48,7 @@ abs_dir_of_script := dir(@FILE)
// Reset symlinks if requested // Reset symlinks if requested
println('Resetting all symlinks...') println('Resetting all symlinks...')
os.rm('${os.home_dir()}/.vmodules/freeflowuniverse/herolib') or {} os.rm('${os.home_dir()}/.vmodules/incubaid/herolib') or {}
// Create necessary directories // Create necessary directories
os.mkdir_all('${os.home_dir()}/.vmodules/freeflowuniverse') or { os.mkdir_all('${os.home_dir()}/.vmodules/freeflowuniverse') or {
@@ -56,7 +56,7 @@ os.mkdir_all('${os.home_dir()}/.vmodules/freeflowuniverse') or {
} }
// Create new symlinks // Create new symlinks
os.symlink('${abs_dir_of_script}/lib', '${os.home_dir()}/.vmodules/freeflowuniverse/herolib') or { os.symlink('${abs_dir_of_script}/lib', '${os.home_dir()}/.vmodules/incubaid/herolib') or {
panic('Failed to create herolib symlink: ${err}') panic('Failed to create herolib symlink: ${err}')
} }

View File

@@ -297,7 +297,7 @@ function os_update {
function hero_lib_pull { function hero_lib_pull {
pushd $DIR_CODE/github/freeflowuniverse/herolib 2>&1 >> /dev/null pushd $DIR_CODE/github/incubaid/herolib 2>&1 >> /dev/null
if [[ $(git status -s) ]]; then if [[ $(git status -s) ]]; then
echo "There are uncommitted changes in the Git repository herolib." echo "There are uncommitted changes in the Git repository herolib."
return 1 return 1
@@ -309,12 +309,12 @@ function hero_lib_pull {
function hero_lib_get { function hero_lib_get {
mkdir -p $DIR_CODE/github/freeflowuniverse mkdir -p $DIR_CODE/github/freeflowuniverse
if [[ -d "$DIR_CODE/github/freeflowuniverse/herolib" ]] if [[ -d "$DIR_CODE/github/incubaid/herolib" ]]
then then
hero_lib_pull hero_lib_pull
else else
pushd $DIR_CODE/github/freeflowuniverse 2>&1 >> /dev/null pushd $DIR_CODE/github/freeflowuniverse 2>&1 >> /dev/null
git clone --depth 1 --no-single-branch https://github.com/freeflowuniverse/herolib.git git clone --depth 1 --no-single-branch https://github.com/incubaid/herolib.git
popd 2>&1 >> /dev/null popd 2>&1 >> /dev/null
fi fi
} }
@@ -632,7 +632,7 @@ check_and_start_redis
if [ "$HEROLIB" = true ]; then if [ "$HEROLIB" = true ]; then
hero_lib_get hero_lib_get
~/code/github/freeflowuniverse/herolib/install_herolib.vsh ~/code/github/incubaid/herolib/install_herolib.vsh
fi fi

View File

@@ -16,7 +16,7 @@ The server supports the following operations:
### Building the Server ### Building the Server
```bash ```bash
v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/freeflowuniverse/herolib/lib/mcp/v_do v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/incubaid/herolib/lib/mcp/v_do
``` ```
### Using the Server ### Using the Server

View File

@@ -16,7 +16,7 @@ The server supports the following operations:
### Building the Server ### Building the Server
```bash ```bash
v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/freeflowuniverse/herolib/lib/mcp/v_do v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/incubaid/herolib/lib/mcp/v_do
``` ```
### Using the Server ### Using the Server

View File

@@ -37,7 +37,7 @@ import json
// } // }
// // Execute the MCP server with the request // // Execute the MCP server with the request
// cmd := 'cat /tmp/mcp_request.txt | v run /Users/despiegk/code/github/freeflowuniverse/herolib/lib/mcp/v_do/main.v' // cmd := 'cat /tmp/mcp_request.txt | v run /Users/despiegk/code/github/incubaid/herolib/lib/mcp/v_do/main.v'
// result := os.execute(cmd) // result := os.execute(cmd)
// if result.exit_code != 0 { // if result.exit_code != 0 {

View File

@@ -7,7 +7,7 @@ import log
fn get_module_dir(mod string) string { fn get_module_dir(mod string) string {
module_parts := mod.trim_string_left('freeflowuniverse.herolib').split('.') module_parts := mod.trim_string_left('freeflowuniverse.herolib').split('.')
return '${os.home_dir()}/code/github/freeflowuniverse/herolib/lib/${module_parts.join('/')}' return '${os.home_dir()}/code/github/incubaid/herolib/lib/${module_parts.join('/')}'
} }
// given a module path and a type name, returns the type definition of that type within that module // given a module path and a type name, returns the type definition of that type within that module

View File

@@ -57,10 +57,10 @@ pub fn (mut node Node) hero_install(args HeroInstallArgs) ! {
mut todo := []string{} mut todo := []string{}
if !args.compile { if !args.compile {
todo << 'curl https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_hero.sh > /tmp/install.sh' todo << 'curl https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_hero.sh > /tmp/install.sh'
todo << 'bash /tmp/install.sh' todo << 'bash /tmp/install.sh'
} else { } else {
todo << "curl 'https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh" todo << "curl 'https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh"
if args.v_analyzer { if args.v_analyzer {
todo << 'bash /tmp/install_v.sh --analyzer --herolib ' todo << 'bash /tmp/install_v.sh --analyzer --herolib '
} else { } else {
@@ -92,10 +92,10 @@ pub fn (mut node Node) hero_update(args_ HeroUpdateArgs) ! {
if args.sync_from_local { if args.sync_from_local {
if args.sync_full { if args.sync_full {
node.sync_code('hero', heropath_ + '/..', '~/code/github/freeflowuniverse/herolib', node.sync_code('hero', heropath_ + '/..', '~/code/github/incubaid/herolib',
args.sync_fast)! args.sync_fast)!
} else { } else {
node.sync_code('hero_lib', heropath_, '~/code/github/freeflowuniverse/herolib/herolib', node.sync_code('hero_lib', heropath_, '~/code/github/incubaid/herolib/herolib',
args.sync_fast)! args.sync_fast)!
} }
return return
@@ -108,7 +108,7 @@ pub fn (mut node Node) hero_update(args_ HeroUpdateArgs) ! {
args.git_pull = false args.git_pull = false
node.exec_cmd( node.exec_cmd(
cmd: ' cmd: '
cd ~/code/github/freeflowuniverse/herolib cd ~/code/github/incubaid/herolib
rm -f .git/index rm -f .git/index
git fetch --all git fetch --all
git reset HEAD --hard git reset HEAD --hard
@@ -121,7 +121,7 @@ pub fn (mut node Node) hero_update(args_ HeroUpdateArgs) ! {
if args.git_pull { if args.git_pull {
node.exec_cmd( node.exec_cmd(
cmd: ' cmd: '
cd ~/code/github/freeflowuniverse/herolib cd ~/code/github/incubaid/herolib
git pull git pull
${branchstr} ${branchstr}
' '
@@ -147,25 +147,25 @@ pub fn (mut node Node) sync_code(name string, src_ string, dest string, fast_rsy
// sync local hero code to rmote and then compile hero // sync local hero code to rmote and then compile hero
pub fn (mut node Node) hero_compile_sync() ! { pub fn (mut node Node) hero_compile_sync() ! {
if !node.file_exists('~/code/github/freeflowuniverse/herolib/cli/readme.md') { if !node.file_exists('~/code/github/incubaid/herolib/cli/readme.md') {
node.hero_install()! node.hero_install()!
} }
node.hero_update()! node.hero_update()!
node.exec_cmd( node.exec_cmd(
cmd: ' cmd: '
~/code/github/freeflowuniverse/herolib/install.sh ~/code/github/incubaid/herolib/install.sh
~/code/github/freeflowuniverse/herolib/cli/hero/compile_debug.sh ~/code/github/incubaid/herolib/cli/hero/compile_debug.sh
' '
)! )!
} }
pub fn (mut node Node) hero_compile() ! { pub fn (mut node Node) hero_compile() ! {
if !node.file_exists('~/code/github/freeflowuniverse/herolib/cli/readme.md') { if !node.file_exists('~/code/github/incubaid/herolib/cli/readme.md') {
node.hero_install()! node.hero_install()!
} }
node.exec_cmd( node.exec_cmd(
cmd: ' cmd: '
~/code/github/freeflowuniverse/herolib/cli/hero/compile_debug.sh ~/code/github/incubaid/herolib/cli/hero/compile_debug.sh
' '
)! )!
} }

View File

@@ -163,7 +163,7 @@ search_result := client.search(
Qdrant server can be installed using the provided installer script: Qdrant server can be installed using the provided installer script:
```bash ```bash
~/code/github/freeflowuniverse/herolib/examples/installers/db/qdrant.vsh ~/code/github/incubaid/herolib/examples/installers/db/qdrant.vsh
``` ```
This will install and start a Qdrant server locally. This will install and start a Qdrant server locally.

View File

@@ -62,7 +62,7 @@ The configuration will be automatically loaded and applied when creating a new R
To run the tests: To run the tests:
```bash ```bash
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/rclone/rclone_test.v vtest ~/code/github/incubaid/herolib/lib/osal/rclone/rclone_test.v
``` ```
Note: Some tests are commented out as they require an actual rclone configuration and remote to work with. They serve as examples of how to use the RCloneClient module. Note: Some tests are commented out as they require an actual rclone configuration and remote to work with. They serve as examples of how to use the RCloneClient module.

View File

@@ -31,7 +31,7 @@ pub fn list_v_files(dir string) ![]string {
// string - absolute path to the module directory // string - absolute path to the module directory
pub fn get_module_dir(mod string) string { pub fn get_module_dir(mod string) string {
module_parts := mod.trim_string_left('freeflowuniverse.herolib').split('.') module_parts := mod.trim_string_left('freeflowuniverse.herolib').split('.')
return '${os.home_dir()}/code/github/freeflowuniverse/herolib/lib/${module_parts.join('/')}' return '${os.home_dir()}/code/github/incubaid/herolib/lib/${module_parts.join('/')}'
} }
// ===== CODE PARSING UTILITIES ===== // ===== CODE PARSING UTILITIES =====

View File

@@ -73,7 +73,7 @@ to call in code
import freeflowuniverse.herolib.core.generator.generic import freeflowuniverse.herolib.core.generator.generic
generic.scan(path:"~/code/github/freeflowuniverse/herolib/herolib/installers",force:true)! generic.scan(path:"~/code/github/incubaid/herolib/herolib/installers",force:true)!
``` ```
@@ -81,6 +81,6 @@ generic.scan(path:"~/code/github/freeflowuniverse/herolib/herolib/installers",fo
to run from bash to run from bash
```bash ```bash
~/code/github/freeflowuniverse/herolib/scripts/fix_installers.vsh ~/code/github/incubaid/herolib/scripts/fix_installers.vsh
``` ```

View File

@@ -102,17 +102,17 @@ fn cmd_bootstrap_execute(cmd Command) ! {
} }
if compileupload { if compileupload {
// mycmd:=' // mycmd:='
// \${HOME}/code/github/freeflowuniverse/herolib/scripts/package.vsh // \${HOME}/code/github/incubaid/herolib/scripts/package.vsh
// ' // '
// osal.exec(cmd: mycmd)! // osal.exec(cmd: mycmd)!
println('please execute:\n~/code/github/freeflowuniverse/herolib/scripts/githubactions.sh') println('please execute:\n~/code/github/incubaid/herolib/scripts/githubactions.sh')
} }
if update { if update {
// mycmd:=' // mycmd:='
// \${HOME}/code/github/freeflowuniverse/herolib/scripts/package.vsh // \${HOME}/code/github/incubaid/herolib/scripts/package.vsh
// ' // '
// osal.exec(cmd: mycmd)! // osal.exec(cmd: mycmd)!
println('please execute:\n~/code/github/freeflowuniverse/herolib/scripts/install_hero.sh') println('please execute:\n~/code/github/incubaid/herolib/scripts/install_hero.sh')
} }
} }

View File

@@ -35,7 +35,7 @@ pub mut:
// ignore_default bool = true // ignore files starting with . and _ // ignore_default bool = true // ignore files starting with . and _
// dirs_only bool // dirs_only bool
// //
// example see https://github.com/freeflowuniverse/herolib/blob/development/examples/core/pathlib/examples/list/path_list.v // example see https://github.com/incubaid/herolib/blob/development/examples/core/pathlib/examples/list/path_list.v
// //
// e.g. p.list(regex:[r'.*\.v$'])! //notice the r in front of string, this is regex for all files ending with .v // e.g. p.list(regex:[r'.*\.v$'])! //notice the r in front of string, this is regex for all files ending with .v
// //

View File

@@ -7,7 +7,7 @@ type Filter0 = fn (mut Path, mut paramsparser.Params) !bool
type Executor0 = fn (mut Path, mut paramsparser.Params) !paramsparser.Params type Executor0 = fn (mut Path, mut paramsparser.Params) !paramsparser.Params
// the filters are function which needs to return true if to process with alle executors . // the filters are function which needs to return true if to process with alle executors .
// see https://github.com/freeflowuniverse/herolib/blob/development/examples/core/pathlib/examples/scanner/path_scanner.v . // see https://github.com/incubaid/herolib/blob/development/examples/core/pathlib/examples/scanner/path_scanner.v .
// if any of the filters returns false then we don't continue . // if any of the filters returns false then we don't continue .
// if we return True then it means the dir or file is processed . // if we return True then it means the dir or file is processed .
// . // .

View File

@@ -2,7 +2,7 @@
TMP_DIR=/tmp/crpgp TMP_DIR=/tmp/crpgp
TMP_LIB_PATH=$TMP_DIR/libcrpgp.so TMP_LIB_PATH=$TMP_DIR/libcrpgp.so
TMP_HEADER_PATH=$TMP_DIR/crpgp.h TMP_HEADER_PATH=$TMP_DIR/crpgp.h
CRPGP_DIR=$HOME/.vmodules/freeflowuniverse/herolib.crypt.crpgp CRPGP_DIR=$HOME/.vmodules/incubaid/herolib.crypt.crpgp
V_CRPGP_PATH=$CRPGP_DIR/crpgp.v V_CRPGP_PATH=$CRPGP_DIR/crpgp.v
# mkdir TMP_DIR # mkdir TMP_DIR

View File

@@ -1 +1 @@
name:col1 src:'/Users/timurgordon/code/github/freeflowuniverse/herolib/lib/data/doctree/collection/testdata/export_test/mytree/dir1' name:col1 src:'/Users/timurgordon/code/github/incubaid/herolib/lib/data/doctree/collection/testdata/export_test/mytree/dir1'

View File

@@ -3,7 +3,7 @@
## page_not_found ## page_not_found
path: /Users/timurgordon/code/github/freeflowuniverse/herolib/herolib/data/doctree/collection/testdata/export_test/mytree/dir1/dir2/file1.md path: /Users/timurgordon/code/github/incubaid/herolib/herolib/data/doctree/collection/testdata/export_test/mytree/dir1/dir2/file1.md
msg: page col3:file5.md not found msg: page col3:file5.md not found

View File

@@ -1 +1 @@
name:col1 src:'/Users/timurgordon/code/github/freeflowuniverse/herolib/herolib/data/doctree/testdata/export_test/mytree/dir1' name:col1 src:'/Users/timurgordon/code/github/incubaid/herolib/herolib/data/doctree/testdata/export_test/mytree/dir1'

View File

@@ -3,7 +3,7 @@
## page_not_found ## page_not_found
path: /Users/timurgordon/code/github/freeflowuniverse/herolib/herolib/data/doctree/testdata/export_test/mytree/dir1/dir2/file1.md path: /Users/timurgordon/code/github/incubaid/herolib/herolib/data/doctree/testdata/export_test/mytree/dir1/dir2/file1.md
msg: page col3:file5.md not found msg: page col3:file5.md not found

View File

@@ -1 +1 @@
name:col2 src:'/Users/timurgordon/code/github/freeflowuniverse/herolib/herolib/data/doctree/testdata/export_test/mytree/dir3' name:col2 src:'/Users/timurgordon/code/github/incubaid/herolib/herolib/data/doctree/testdata/export_test/mytree/dir3'

View File

@@ -2,7 +2,7 @@
## Overview ## Overview
This project implements a distributed key-value storage service exposed via an HTTP API. It uses a master-worker architecture to handle read and write operations efficiently, with internal communication facilitated by the [Mycelium network](https://github.com/threefoldtech/mycelium). The system is built in [V](https://vlang.io/) and uses [OurDB](https://github.com/freeflowuniverse/herolib/tree/main/lib/data/ourdb) for embedded key-value storage. This project implements a distributed key-value storage service exposed via an HTTP API. It uses a master-worker architecture to handle read and write operations efficiently, with internal communication facilitated by the [Mycelium network](https://github.com/threefoldtech/mycelium). The system is built in [V](https://vlang.io/) and uses [OurDB](https://github.com/incubaid/herolib/tree/main/lib/data/ourdb) for embedded key-value storage.
### Key Features ### Key Features
@@ -73,7 +73,7 @@ To run this project, you need the following:
- [V](https://vlang.io/) (Vlang compiler) installed. - [V](https://vlang.io/) (Vlang compiler) installed.
- [Mycelium](https://github.com/threefoldtech/mycelium) network configured (either public or private). - [Mycelium](https://github.com/threefoldtech/mycelium) network configured (either public or private).
- [OurDB](https://github.com/freeflowuniverse/herolib/tree/main/lib/data/ourdb) library included in your project (part of the HeroLib suite). - [OurDB](https://github.com/incubaid/herolib/tree/main/lib/data/ourdb) library included in your project (part of the HeroLib suite).
## Installation ## Installation

View File

@@ -135,12 +135,12 @@ fn test_args_get() {
} }
fn test_url1() { fn test_url1() {
mut text := "color:red url:'https://github.com/freeflowuniverse/herolib/tree/development/examples/mdbook/books_to_include1'" mut text := "color:red url:'https://github.com/incubaid/herolib/tree/development/examples/mdbook/books_to_include1'"
mut params := parse(text) or { panic(err) } mut params := parse(text) or { panic(err) }
mut text2 := 'color:red url:"https://github.com/freeflowuniverse/herolib/tree/development/examples/mdbook/books_to_include1 "' mut text2 := 'color:red url:"https://github.com/incubaid/herolib/tree/development/examples/mdbook/books_to_include1 "'
mut params2 := parse(text2) or { panic(err) } mut params2 := parse(text2) or { panic(err) }
assert params.get('url')? == 'https://github.com/freeflowuniverse/herolib/tree/development/examples/mdbook/books_to_include1' assert params.get('url')? == 'https://github.com/incubaid/herolib/tree/development/examples/mdbook/books_to_include1'
assert params2.get('url')? == 'https://github.com/freeflowuniverse/herolib/tree/development/examples/mdbook/books_to_include1' assert params2.get('url')? == 'https://github.com/incubaid/herolib/tree/development/examples/mdbook/books_to_include1'
} }
// // fn test_json() { // // fn test_json() {

View File

@@ -34,7 +34,7 @@ fn install_(args InstallArgs) ! {
mut repo := gs.get_repo( mut repo := gs.get_repo(
pull: args.git_pull pull: args.git_pull
reset: args.git_reset reset: args.git_reset
url: 'https://github.com/freeflowuniverse/herolib/tree/development/lib' url: 'https://github.com/incubaid/herolib/tree/development/lib'
)! )!
// mut repo2 := gs.get_repo( // mut repo2 := gs.get_repo(
@@ -48,7 +48,7 @@ fn install_(args InstallArgs) ! {
mut path1p := pathlib.get_dir(path: path1, create: false)! mut path1p := pathlib.get_dir(path: path1, create: false)!
// mut path2p := pathlib.get_dir(path: path2, create: false)! // mut path2p := pathlib.get_dir(path: path2, create: false)!
path1p.link('${os.home_dir()}/.vmodules/freeflowuniverse/herolib', true)! path1p.link('${os.home_dir()}/.vmodules/incubaid/herolib', true)!
// path2p.link('${os.home_dir()}/.vmodules/freeflowuniverse/webcomponents', true)! // path2p.link('${os.home_dir()}/.vmodules/freeflowuniverse/webcomponents', true)!
// hero_compile()! // hero_compile()!
@@ -83,7 +83,7 @@ pub fn install(args InstallArgs) ! {
cmd := ' cmd := '
cd /tmp cd /tmp
export TERM=xterm export TERM=xterm
curl https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_hero.sh | bash curl https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_hero.sh | bash
' '
osal.execute_stdout(cmd) or { return error('Cannot install hero.\n${err}') } osal.execute_stdout(cmd) or { return error('Cannot install hero.\n${err}') }
osal.done_set('install_hero', 'OK')! osal.done_set('install_hero', 'OK')!
@@ -101,7 +101,7 @@ pub fn compile(args InstallArgs) ! {
cmd := " cmd := "
cd /tmp cd /tmp
export TERM=xterm export TERM=xterm
curl 'https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh curl 'https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh
bash /tmp/install_v.sh --herolib bash /tmp/install_v.sh --herolib
" "
osal.execute_stdout(cmd) or { return error('Cannot install hero.\n${err}') } osal.execute_stdout(cmd) or { return error('Cannot install hero.\n${err}') }

View File

@@ -16,7 +16,7 @@ The server supports the following operations:
### Building the Server ### Building the Server
```bash ```bash
v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/freeflowuniverse/herolib/lib/mcp/v_do v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/incubaid/herolib/lib/mcp/v_do
``` ```
### Using the Server ### Using the Server

View File

@@ -16,7 +16,7 @@ The server supports the following operations:
### Building the Server ### Building the Server
```bash ```bash
v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/freeflowuniverse/herolib/lib/mcp/v_do v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/incubaid/herolib/lib/mcp/v_do
``` ```
### Using the Server ### Using the Server

View File

@@ -37,7 +37,7 @@ import json
// } // }
// // Execute the MCP server with the request // // Execute the MCP server with the request
// cmd := 'cat /tmp/mcp_request.txt | v run /Users/despiegk/code/github/freeflowuniverse/herolib/lib/mcp/v_do/main.v' // cmd := 'cat /tmp/mcp_request.txt | v run /Users/despiegk/code/github/incubaid/herolib/lib/mcp/v_do/main.v'
// result := os.execute(cmd) // result := os.execute(cmd)
// if result.exit_code != 0 { // if result.exit_code != 0 {

View File

@@ -7,7 +7,7 @@ import log
fn get_module_dir(mod string) string { fn get_module_dir(mod string) string {
module_parts := mod.trim_string_left('freeflowuniverse.herolib').split('.') module_parts := mod.trim_string_left('freeflowuniverse.herolib').split('.')
return '${os.home_dir()}/code/github/freeflowuniverse/herolib/lib/${module_parts.join('/')}' return '${os.home_dir()}/code/github/incubaid/herolib/lib/${module_parts.join('/')}'
} }
// given a module path and a type name, returns the type definition of that type within that module // given a module path and a type name, returns the type definition of that type within that module

View File

@@ -32,7 +32,7 @@ pub mut:
// stdout bool = true // stdout bool = true
// ``` // ```
// . // .
// see https://github.com/freeflowuniverse/herolib/blob/development/examples/pathlib.rsync/rsync_example.v // see https://github.com/incubaid/herolib/blob/development/examples/pathlib.rsync/rsync_example.v
pub fn rsync(args_ RsyncArgs) ! { pub fn rsync(args_ RsyncArgs) ! {
mut args := args_ mut args := args_
if args.ipaddr_src.len == 0 { if args.ipaddr_src.len == 0 {

View File

@@ -63,4 +63,4 @@ screen -r test
## Testing ## Testing
```bash ```bash
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/screen/screen_test.v vtest ~/code/github/incubaid/herolib/lib/osal/screen/screen_test.v

View File

@@ -251,4 +251,4 @@ mut web_service := systemd.new(
```v ```v
// Test module // Test module
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/systemd/systemd_process_test.v vtest ~/code/github/incubaid/herolib/lib/osal/systemd/systemd_process_test.v

View File

@@ -3,12 +3,12 @@
Is an opinionated library as used by threefold mainly to automate cloud environments, its still very much work in progress and we welcome any contribution. Is an opinionated library as used by threefold mainly to automate cloud environments, its still very much work in progress and we welcome any contribution.
Please check also our [cookbook](https://github.com/freeflowuniverse/herolib/tree/development/cookbook) which might give some ideas how to use it. Please check also our [cookbook](https://github.com/incubaid/herolib/tree/development/cookbook) which might give some ideas how to use it.
## Get started with hero ## Get started with hero
```bash ```bash
curl -sL https://raw.githubusercontent.com/freeflowuniverse/herolib/development/scripts/install_hero.sh | bash curl -sL https://raw.githubusercontent.com/incubaid/herolib/development/scripts/install_hero.sh | bash
``` ```
## Get started with herolib ## Get started with herolib
@@ -16,7 +16,7 @@ curl -sL https://raw.githubusercontent.com/freeflowuniverse/herolib/development/
the following script will install vlang and herolib (report bugs please) the following script will install vlang and herolib (report bugs please)
```bash ```bash
curl https://raw.githubusercontent.com/freeflowuniverse/herolib/development/scripts/installer.sh > /tmp/install.sh curl https://raw.githubusercontent.com/incubaid/herolib/development/scripts/installer.sh > /tmp/install.sh
bash /tmp/install.sh bash /tmp/install.sh
``` ```
@@ -34,7 +34,7 @@ requirements
```bash ```bash
mkdir -p ~/code/github/freeflowuniverse mkdir -p ~/code/github/freeflowuniverse
cd ~/code/github/freeflowuniverse cd ~/code/github/freeflowuniverse
git clone git@github.com:freeflowuniverse/herolib.git git clone git@github.com:incubaid/herolib.git
cd herolib cd herolib
# checkout a branch with most recent changes # checkout a branch with most recent changes
# git checkout development # git checkout development
@@ -52,7 +52,7 @@ hero will be installed in
- ~/hero/bin for osx - ~/hero/bin for osx
```bash ```bash
curl https://raw.githubusercontent.com/freeflowuniverse/herolib/development/scripts/install_hero.sh > /tmp/hero_install.sh curl https://raw.githubusercontent.com/incubaid/herolib/development/scripts/install_hero.sh > /tmp/hero_install.sh
bash /tmp/hero_install.sh bash /tmp/hero_install.sh
#to debug #to debug
bash -x /tmp/hero_install.sh bash -x /tmp/hero_install.sh
@@ -72,7 +72,7 @@ requirements
```bash ```bash
#cd in this directory #cd in this directory
cd ~/code/github/freeflowuniverse/herolib cd ~/code/github/incubaid/herolib
bash doc.sh bash doc.sh
``` ```

View File

@@ -3,7 +3,7 @@ Module {
author: 'freeflowuniverse' author: 'freeflowuniverse'
description: 'Set of various libraries' description: 'Set of various libraries'
version: '0.1.0' version: '0.1.0'
repo_url: 'https://github.com/freeflowuniverse/herolib/herolib' repo_url: 'https://github.com/incubaid/herolib/herolib'
deps: [] deps: []
vcs: 'git' vcs: 'git'
license: 'apache2' license: 'apache2'

View File

@@ -5,9 +5,9 @@ import freeflowuniverse.herolib.baobab.specification
import freeflowuniverse.herolib.schemas.openapi import freeflowuniverse.herolib.schemas.openapi
import os import os
const example_dir = os.join_path('${os.home_dir()}/code/github/freeflowuniverse/herolib/lib/circles/mcc', const example_dir = os.join_path('${os.home_dir()}/code/github/incubaid/herolib/lib/circles/mcc',
'baobab') 'baobab')
const openapi_spec_path = os.join_path('${os.home_dir()}/code/github/freeflowuniverse/herolib/lib/circles/mcc', const openapi_spec_path = os.join_path('${os.home_dir()}/code/github/incubaid/herolib/lib/circles/mcc',
'openapi.json') 'openapi.json')
// the actor specification obtained from the OpenRPC Specification // the actor specification obtained from the OpenRPC Specification

View File

@@ -54,7 +54,7 @@
"Items": [ "Items": [
{ {
"Title": "Baobab MCP", "Title": "Baobab MCP",
"Href": "/Users/timurgordon/code/github/freeflowuniverse/herolib/lib/mcp/baobab/README.md", "Href": "/Users/timurgordon/code/github/incubaid/herolib/lib/mcp/baobab/README.md",
"IsDir": false "IsDir": false
} }
] ]

View File

@@ -2,7 +2,7 @@
## how to tag a version and push ## how to tag a version and push
```bash ```bash
cd ~/Users/despiegk~/code/github/freeflowuniverse/herolib cd ~/Users/despiegk~/code/github/incubaid/herolib
git tag -a v1.0.4 -m "all CI is now working" git tag -a v1.0.4 -m "all CI is now working"
git add . -A ; git commit -m ... ; git pull ; git push origin v1.0.4 git add . -A ; git commit -m ... ; git pull ; git push origin v1.0.4
``` ```

View File

@@ -12,6 +12,6 @@ this allows us to make manual and to copy information from the readme's which ar
to run to run
```bash ```bash
~/code/github/freeflowuniverse/herolib/tools/doc_extractor/extractor.sh ~/code/github/incubaid/herolib/tools/doc_extractor/extractor.sh
``` ```

View File

@@ -15,7 +15,7 @@ CONFIG_FILE="$MANUAL_DIR/config.json"
WIKI_DIR="/Users/timurgordon/code/github/freeflowuniverse/herolauncher/pkg/ui/wiki" WIKI_DIR="/Users/timurgordon/code/github/freeflowuniverse/herolauncher/pkg/ui/wiki"
# Path to the herolib directory # Path to the herolib directory
HEROLIB_DIR="/Users/timurgordon/code/github/freeflowuniverse/herolib" HEROLIB_DIR="/Users/timurgordon/code/github/incubaid/herolib"
cd "$WIKI_DIR" cd "$WIKI_DIR"

View File

@@ -10,7 +10,7 @@ struct GithubRelease {
} }
fn get_latest_release() !string { fn get_latest_release() !string {
url := 'https://api.github.com/repos/freeflowuniverse/herolib/releases/latest' url := 'https://api.github.com/repos/incubaid/herolib/releases/latest'
resp := http.get(url)! resp := http.get(url)!
release := json.decode[GithubRelease](resp.body) or { release := json.decode[GithubRelease](resp.body) or {
return error('Failed to decode GitHub response: ${err}') return error('Failed to decode GitHub response: ${err}')
@@ -131,12 +131,12 @@ git push
git checkout development git checkout development
git pull origin development git pull origin development
git push git push
git remote set-url origin git@github.com:freeflowuniverse/herolib.git git remote set-url origin git@github.com:incubaid/herolib.git
git add ${hero_v_path} ${install_hero_path} git add ${hero_v_path} ${install_hero_path}
git commit -m "bump version to ${new_version}" git commit -m "bump version to ${new_version}"
git pull git@github.com:freeflowuniverse/herolib.git main git pull git@github.com:incubaid/herolib.git main
git tag -a "v${new_version}" -m "Release version ${new_version}" git tag -a "v${new_version}" -m "Release version ${new_version}"
git push git@github.com:freeflowuniverse/herolib.git "v${new_version}" git push git@github.com:incubaid/herolib.git "v${new_version}"
' '
println(cmd) println(cmd)

View File

@@ -5,7 +5,7 @@ set -e
# Function to get the latest release from GitHub # Function to get the latest release from GitHub
get_latest_release() { get_latest_release() {
local url="https://api.github.com/repos/freeflowuniverse/herolib/releases/latest" local url="https://api.github.com/repos/incubaid/herolib/releases/latest"
local response local response
response=$(curl -s "$url") response=$(curl -s "$url")
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
@@ -93,12 +93,12 @@ cd "$script_dir" || { echo "Error: Could not change to script directory" >&2; ex
# Prepare git commands # Prepare git commands
cmd=" cmd="
git remote set-url origin git@github.com:freeflowuniverse/herolib.git git remote set-url origin git@github.com:incubaid/herolib.git
git add $hero_v_path $install_hero_path git add $hero_v_path $install_hero_path
git commit -m \"bump version to $new_version\" git commit -m \"bump version to $new_version\"
git pull git@github.com:freeflowuniverse/herolib.git main git pull git@github.com:incubaid/herolib.git main
git tag -a \"v$new_version\" -m \"Release version $new_version\" git tag -a \"v$new_version\" -m \"Release version $new_version\"
git push git@github.com:freeflowuniverse/herolib.git \"v$new_version\" git push git@github.com:incubaid/herolib.git \"v$new_version\"
" "
echo "$cmd" echo "$cmd"

View File

@@ -169,7 +169,7 @@ lib/lang
lib/clients lib/clients
lib/core lib/core
lib/develop lib/develop
// lib/vfs The vfs folder is not exists on the development branch, so we need to uncomment it after merging this PR https://github.com/freeflowuniverse/herolib/pull/68 // lib/vfs The vfs folder is not exists on the development branch, so we need to uncomment it after merging this PR https://github.com/incubaid/herolib/pull/68
// lib/crypt // lib/crypt
' '

View File

@@ -18,7 +18,7 @@ lib/lang
lib/clients lib/clients
lib/core lib/core
lib/develop lib/develop
// lib/vfs The vfs folder is not exists on the development branch, so we need to uncomment it after merging this PR https://github.com/freeflowuniverse/herolib/pull/68 // lib/vfs The vfs folder is not exists on the development branch, so we need to uncomment it after merging this PR https://github.com/incubaid/herolib/pull/68
// lib/crypt // lib/crypt
' '

View File

@@ -1,5 +1,5 @@
cd ~/code/github/freeflowuniverse/herolib/vscodeplugin/heroscrypt-syntax cd ~/code/github/incubaid/herolib/vscodeplugin/heroscrypt-syntax
npx @vscode/vsce package npx @vscode/vsce package
code --install-extension ~/code/github/freeflowuniverse/herolib/vscodeplugin/heroscrypt-syntax/heroscript-syntax-0.0.1.vsix code --install-extension ~/code/github/incubaid/herolib/vscodeplugin/heroscrypt-syntax/heroscript-syntax-0.0.1.vsix