Mbombo

command module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2026 License: GPL-3.0 Imports: 1 Imported by: 0

README

mbombo, forge your own path

License

Overview

Forge unified products from templates with intelligent text replacement

┌─────────────────────────────────────────────────────────────────────────────┐
│                                 mbombo                                      │
│                   Concatenate files with replacements                       │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                    ┌───────────────┴───────────────┐
                    │               │               │
                    ▼               ▼               ▼
┌───────────────────────────┐ ┌───────────────────────────┐ ┌───────────────────────────┐
│         INPUT             │ │        RULES              │ │         OUTPUT            │
├───────────────────────────┤ ├───────────────────────────┤ ├───────────────────────────┤
│ • Source files (--files)  │ │ • Token replacements      │ │ • Single output file      │
│ • Input directory (--in)  │ │   ("old=new")             │ │   (--out)                 │
│                           │ │                           │ │                           │
│                           │ │ • Line replacements       │ │ • Can overwrite source    │
│                           │ │   ("old=new:line")        │ │   if single file          │
│                           │ │                           │ │                           │
│                           │ │ • Multiple pairs allowed  │ │ • Preserves directory     │
│                           │ │   (comma-separated)       │ │   structure               │
└───────────────────────────┘ └───────────────────────────┘ └───────────────────────────┘
                                    │
                    ┌───────────────┴───────────────┐
                    │                               │
                    ▼                               ▼
┌───────────────────────────┐                 ┌───────────────────────────┐
│      TOKEN MODE           │                 │       LINE MODE           │
├───────────────────────────┤                 ├───────────────────────────┤
│ Replace occurrences       │                 │ Replace entire lines      │
│ within lines              │                 │ containing text           │
│                           │                 │                           │
│ Example:                  │                 │ Example:                  │
│ {{YEAR}} → 2026           │                 │ console.log() → (empty)   │
└───────────────────────────┘                 └───────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│                         COMMAND FLOW                                        │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ┌──────┐    ┌──────────┐    ┌───────────┐    ┌──────────┐    ┌────────┐    │
│  │ USER │───▶│  PARSE   │───▶│ NORMALIZE │───▶│ PROCESS  │───▶│ OUTPUT │    │
│  │      │    │  FLAGS   │    │  PATHS    │    │  FILES   │    │        │    │
│  └──────┘    └──────────┘    └───────────┘    └──────────┘    └────────┘    │
│                   │               │                │               │        │
│                   ▼               ▼                ▼               ▼        │
│              --files         extract dir/      read each       write to     │
│              --out           base names          file          --out        │
│              --replace                             │                        │
│                                                    ▼                        │
│                                               apply rules                   │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│                          USE CASES                                          │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ╔═══════════════════════════════════════════════════════════════════════╗  │
│  ║  Template Processing                                                  ║  │
│  ║  mbombo forge --files template.tmpl --out config.txt \                ║  │
│  ║      --replace VERSION=1.0.0,API_URL=https://api.example.com          ║  │
│  ╚═══════════════════════════════════════════════════════════════════════╝  │
│                                                                             │
│  ╔═══════════════════════════════════════════════════════════════════════╗  │
│  ║  File Concatenation                                                   ║  │
│  ║  mbombo forge --files header.html body.html footer.html \             ║  │
│  ║      --out website/page.html                                          ║  │
│  ╚═══════════════════════════════════════════════════════════════════════╝  │
│                                                                             │
│  ╔═══════════════════════════════════════════════════════════════════════╗  │
│  ║  Code Cleanup                                                         ║  │
│  ║  mbombo forge --files script.js --out script.min.js \                 ║  │
│  ║      --replace console.log=:line,DEBUG=false                          ║  │
│  ╚═══════════════════════════════════════════════════════════════════════╝  │
│                                                                             │
│  ╔═══════════════════════════════════════════════════════════════════════╗  │
│  ║  Version Bumping                                                      ║  │
│  ║  mbombo forge --files README.md --out README.md \                     ║  │
│  ║      --replace v0.0.0=v1.2.3                                          ║  │
│  ╚═══════════════════════════════════════════════════════════════════════╝  │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

Installation

Language-Specific
Go:  go install github.com/DanielRivasMD/Mbombo@latest

License

Copyright (c) 2024 See the LICENSE file for license details

Documentation

Overview

Copyright © 2024 Daniel Rivas <danielrivasmd@gmail.com>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL