Guides, Source Code, Syntax
May, 24, 2024
Reports, Source Code, Syntax on my Computer Science research
PADS (Personal Assistant and Deployment System)
Joe Corso
2023-06-05
The initiation for the project comes from the need to organize, consolidate, maintain, deploy, and automate coding libraries, web apps, and development environments in to a clear, thoughtful, and easy to understand manner.
paddocs subsystem.By consolidating development, deployment, and documentation tasks into a cohesive ecosystem, PADS empowers users to increase productivity, reduce manual overhead, and maintain high-quality, reproducible workflows.
PADS is a modular, shell-based automation and project management system designed to streamline personal development workflows and infrastructure deployment. It provides a unified command-line interface to manage system-level tasks, Python project scaffolding, documentation generation, and utility tools—all integrated to support reproducibility, scalability, and maintainability.
As a sole developer, it can be difficult to manage multiple projects, and each code snippet. This project was built from the need to have a certain “personal assistant”, which can handle the manual task of building, and maintaining a business infrastructure.
PADS is divided into modules. Each module maintains it own logic, and documentation. They are grouped by task. Each module has it’s own binary file, and source code directory within the pads directory.
paddocs subsystem.Rapid deploment, and low maintainence of an ecommerce business.
PADS is organized into four main modules:
git-shell or gitearsync or
resticInput command -> process logic -> Output
-> run LLM -> Output
pads -> process which command to use -> process OPT/ARGS -> pass command to module -> Output
-> build env -> Output
paddocs ->
proj ->
sys ->
tools ->
The PADS project uses a clear directory hierarchy:
pads/
├── sys/ # System-level scripts
├── proj/ # Python project generators and managers
├── paddocs/ # Documentation system source and config
│ ├── src/
│ ├── config/
│ ├── includes/
│ ├── manuscript/
│ ├── output/
│ └── metadata.yaml
├── tools/ # Helper scripts and utilities
├── models/ # LLM prompts, outputs, and evaluation
├── etc/ # Configuration files
├── var/ # Logs and runtime files
├── install/ # Installation and uninstallation scripts
└── tests/ # Unit and integration tests
Built in configs for Qtile, KDE Plasma, Arch Linux
Built in Conky Panels showing system performance, mounted devices,
etc.
PADS integrates a prompt command:
- located at
$PADS_DIR/etc/prompt_command.sh
promptCommand(){
local code=$?
blue="\[$(tput setaf 4)$(tput bold)\]"
green="\[$(tput setaf 2)$(tput bold)\]"
red="\[$(tput setaf 1)$(tput bold)\]"
yellow="\[$(tput setaf 227)$(tput bold)\]"
orange="\[$(tput setaf 208)$(tput bold)\]"
grey="\[$(tput setaf 240)$(tput bold)\]"
r="\[$(tput sgr0)\]"
bg=${grey}
ve=${grey}
f=${grey}
nx=${grey}
git=${grey}
[[ $PWD =~ "git" ]] && git=${orange}
[[ -n $VIRTUAL_ENV ]] && ve=${orange}
PS1="[ ${git} ${r} ${ve}VE${r} ${blue}\u@\h \W${r} ] \$ "
}PADS has it’s own set of logging, and error reporting using signal
traps: - located at:
\$PADS_DIR/etc/pads.sig
msg(){
local code=$?
[[ ${code} -eq 0 ]] && printf "[ ${grey}INFO${r} ] :: ${1}\n"
}
hup_script(){
notify-send "PADS" "Bye"
}
err_script(){
local code=$?
printf "[$code]$red ERROR:${BASH_SOURCE##*/}:${FUNCNAME[0]}:$r ${0##*/}.${mod}.$BASH_LINENO:$BASH_COMMAND\n"
return $code
}
quit_script(){
printf "Quitting...\n"
exit 1
}
interrupt_script(){
printf "\n^C\n"
[[ -f ${lock} ]] && echo "rm lock" && rm $lock
exit 130
}
terminate_script(){
notify-send "Terminated"
killall $!
}
exit_script(){
code=$?
# Code goes here
exit $code
}var/ for easy
rotation and monitoring..env and pads.conf allow
environment-specific overrides without modifying source code.PADS is a modular Bash and Python-based automation system designed to manage personal projects, system tasks, documentation, and integration with large language models (LLMs). It aims to provide a cohesive, reproducible workflow for developers who require both system-level controls and project-level automation.
paddocs)metadata.yaml to store document-wide
settings.models/.trap commands to log script execution
and errors.ast module
and Bash comment parsing.etc/), runtime data (var/), and source code
(src/ within modules).bin/ provide easy CLI access..env
and vault solutions.PADS is a versatile platform combining automation, project management, documentation, and AI-readiness. It enables developers to streamline complex workflows within a structured, secure, and extensible environment.
PADS is a comprehensive, extensible system designed to automate and streamline development and deployment workflows. By combining scripting, documentation, and AI readiness, it positions itself as a future-proof platform for personal and small team project management.
NA
PADS is a modular, command-line driven automation and project management system aimed at personal developers and small teams. It integrates system-level operations, project scaffolding, documentation generation, and tooling under a unified interface to simplify complex workflows.
Template generated by ChatGPT
Documentation generated by PADDOCS
Compendium section: 10-docs
Title: Project PADS
Author: Joe Corso
Created: 2022-05-04
Updated: 2025-10-26
Tags: automation, bash
Status: [ Draft / Final / Reviewed ]
Template:
- 00-project-proposal.md
- 01-project-overview.md
- 02-design-report.md
- 03-technical-report.md
- 04-research-log.md
- 05-final-report.md
License: “All Rights Reserved”
Schema: technical
Version: 0.1.1
Branding: Operation Mindmap
This manual is for PADDOCS (1.1.0, 2025-10-25) A module which self-generates documentation
Paddocs is a module for PADS which self generates documentation from
code into a technical manual, blog, info, and man pages. This
documentation was generated using the same library. You can generate the
book layout into the ~/dev/pads/paddocs/ directory. Write
the documentation within the programs files using the headers outlined
in Notes. Build the documentation with
-b, then generate the docs with -g. You can
also use paddocs to generate report templates, metadata for
the book, covers, bibliography info. etc.
Repository: https://github.com/padsRepo/pads
Before you begin, make sure you meet these prerequisites:
$ git clone https://github.com/padsRepo/paddocs $ makepkg -si $ paddocs -b book && paddocs -b metadatamanuscript/<sectionName>/<cmd>/assets/schemas to
/manuscript/<sectionName>/ $ paddocs -c <cmd> -l <lang> -b doc && paddocs -g book html $ paddocs -s
$ http://127.0.0.1:8000<cmd> -[<argument>] [<name>]
paddocs -[b:,c:,g:,l:,s,v,h] [<name>]
-b <name> Build <name> to manuscript/
<type> is one of: book, metadata, readme, license, doc, man
-c <name> Command to generate docs for
-g <type> <prefix> <sectionName> Generate <name> to output/
<type> is one of: markdown, html, pdf, section, chapter, man
-l <name> Coding language to use for the code block.
-s Run python -m http.server and exit
-v Show Version
-h Show Usage
| Script | Description |
|---|---|
| parse.sh | Configure the necessary vars for the template |
| build.sh | Make and save the template with the parsed vars |
| generate.sh | Create the full book, sections, or chapters |
| Function/Class | Module | Parameters | Returns | Description |
|---|---|---|---|---|
| parseBash | parse.sh | shell_tags | 0 success 1 error | If -l ${lang} is bash configure vars from given -c ${cmd} |
| parsePython | parse.sh | python_tags | 0 success 1 error | If -l ${lang} is python configure vars from given -c ${cmd} |
| book | build.sh | -b book | 0 success 1 error | Build the skeleton directory for a new project |
| metadata | build.sh | -b metadata | 0 success 1 error | Generate metadata.yaml file for the book |
| readme | build.sh | -b readme | 0 success 1 error | Generate README.md file from given -c ${cmd} |
| license | build.sh | -b license | 0 success 1 error | Generate LICENSE file from give -c ${cmd} |
| man | build.sh | -b man | 0 success 1 error | Generate GROFF man page from given -c ${cmd} to
manuscript/11-manual/\${cmd} |
| doc | build.sh | -b doc | 0 success 1 error | Generate Technical Documentation from given -c ${cmd} to
manuscript/10-docs/\${cmd} |
| genBook | generate.sh | -g book [<html,pdf,md>] | 0 success 1 error | Generate entire manuscript to output/book directory in given format |
| genSection | generate.sh | -g book [<html,pdf,md>] |
0 success 1 error | Generate output/section in given
format |
| genChapter | generate.sh | -g book [<html,pdf,md>] |
0 success 1 error | Generate output/chapter in given
format |
| genMan | generate.sh | -g man -c ${cmd} | 0 success 1 error | Generate man to output/man and update
/usr/share/man/man1 |
paddocs -hpaddocs -vpaddocs -b bookpaddocs to
\${base_dir}/paddocs/
paddocs -c paddocs -l bash -b docspaddocs into the
paddocs/manuscript/10-docs/\<projDir\> directory.
This is if you need more of a report. If you want the manpage use
man instead.
paddocs -c paddocs -l bash -b manpaddocs into the
paddocs/manuscript/11-manual/\<cmd\>.md directory.
paddocs -g book pdfmanuscript/
directory to output/compendium.pdf
paddocs -g book htmlmanuscript/
directory to output/compendium.html
| Code | Status |
|---|---|
| 0 | Success |
| 1 | Failure |
| 127 | K18 |
| 130 | Ctl+C |
| Key | Value |
|---|---|
| None | N/A |
| Files/Directories | Path | Description |
|---|---|---|
| ${base_dir}/src/paddocs | Source Code Directory, Book manuscript, metadata, and output | |
| ${base_dir}/etc | Directory for trap signals/config files | |
| paddocs | ${base_dir}/bin/paddocs | Executable Directory |
| paulBunyan.sh | ${base_dir}/etc/paulBunyan.sh | Library for logs using trap signals |
paddocs -shttp://127.0.0.1:8000
paddocs -c paddocs -l bash -b man && paddocs -g man -c paddocspaddocs into the
paddocs/manuscript/11-manual/\<cmd\>.md directory.
Then generate a man page for paddocs. This
will automatically mv the tar.gz file to
/usr/share/man/man1. After it’s complete you will be able
to type man <name> for the man page.
paddocs -c interlink -l python -b doc && paddocs -g section html interlink/output/section/<cmd>.
git checkout -b feature-name)git commit -m "Add feature")git push origin feature-name)MIT License
Copyright (c) 2022 Joe Corso
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
buildbook, genreadme,
genlicense, gendocs, genman,
genhtml, genpdf, genall
functionsbuild.sh and
generate.shsection, chapter,
mangenerate.shbuild.sh$quickie to $readmevars.sh to parse.shpython and bash module into
parse.sh/{parseBash,parsePython}-s flag for built in web server
python -m http.server 8088generate.shmodule, api, advanced,
troubleshoot, contributing headersprogramming-manual.md template into
doc() function## to
render the markdown properly. Ex: ##_ NOT ##.
Or they can use new lines for proper formatting.usage()
function)man paddocs, info pads
title="Paddocs"
subtitle="Self-Generating Documentation Module"
version="1.1.0"
OPTSTRING="b:,c:,g:,l:,s,v,h"
synopsis="<cmd> -[<argument>] [<name>]"
syntax="${0##*/} -[${OPTSTRING}] [<name>]"
base_dir="$(dirname "$(readlink -f "${0%/*}")")"
description(){
cat << EOF
* ${title}
* ${subtitle}
EOF
}
usage(){
cat << EOF
Synopsis: $synopsis
Syntax: $syntax
Usage:
-b <name> Build <name> to manuscript/
<type> is one of: book, metadata, readme, license, doc, man
-c <name> Command to generate docs for
-g <type> <prefix> <sectionName> Generate <name> to output/
<type> is one of: markdown, html, pdf, section, chapter, man
-l <name> Coding language to use for the code block.
-s Run python -m http.server and exit
-v Show Version
-h Show Usage
Ex: paddocs -c pads -l bash -b doc | paddocs -c paddocs -l bash -b man | paddocs -c interlink -l python -b doc && paddocs -g section html interlink
See also: man paddocs, info pads
EOF
}
manual(){
description
usage
}
while getopts ${OPTSTRING} mod; do
case ${mod} in
b) build=${OPTARG};;
c) cmd=${OPTARG};;
g) type=${OPTARG}; prefix=${3}; sectionName=${4};;
l) lang=${OPTARG};;
s) server=True;;
v) echo "${version}"; exit;;
h) usage; exit;;
?) echo " * ${0##*/} -h for help"; exit 2;;
*) echo "K18 Error"; exit 2;;
esac
done
[[ $# -eq 0 ]] && manual && exit
. "${base_dir}/etc/paulBunyan.sh"
. "${base_dir}/src/paddocs/src/parse.sh"
cd $base_dir/src/paddocs
if [[ ${lang} == "bash" ]]; then
parseBash
elif [[ ${lang} == "python" ]]; then
parsePython && [[ $? -eq 0 ]] && INFO "\nBuild: ${build} \nCMD: ${cmd} \nFile: file:/\${saveDir}/10-${cmd}.md \n" && exit
elif [[ -n $server ]]; then
python -m http.server 8000 &
fi
[[ -n ${build} ]] && . "$base_dir/src/paddocs/src/build.sh" && $build && [[ $? -eq 0 ]] && INFO "\nBuild: ${build} \nCMD: ${cmd} \nFile: file://${savePath} \n" && exit
[[ -n ${type} ]] && . "${base_dir}/src/paddocs/src/generate.sh" && [[ $? -eq 0 ]] && INFO "\nGenerate: file://${save_dir}\n" && exit 0Template generated by ChatGPT
Documentation generated by PADDOCS
Compendium section: 10-docs
Title: Paddocs
Author: Joe Corso
Tags: [self-generate, documentation, manual, bash]
Status: [ Draft / Final / Reviewed ]
Post ID: paddocs.md
Template: programming-manual.md
License: All Rights Reserved
Schema: manuals
Version: 1.1.0
This manual is for PADS (1.1.0, 2025-10-22) Personal Assistant and Deployment System
PADS is a shell-based automation framework designed to simplify system tasks and project scaffolding through concise command-line flags. PADS serves as a wrapper around common system and development tasks, providing a more streamlined and user-friendly interface. PADS is designed to support the VCS, Workflow, and development of [Project Starship].
Repository: https://github.com/padsRepo/pads
Blog: https://padsrepo.github.io/pads/
Docs: https://github.com/padsRepo/pads/wiki
Before you begin, make sure you meet these prerequisites:
Download:
git clone git+ssh://pi@rpi400.local/srv/repo/git/pads.git
Install: makepkg -si
Add to /etc/pacman.conf:
[datasphere]
SigLevel = Optional TrustAll
Server = http://rpi400.local/db/core
[multiverse]
SigLevel = Optional TrustAll
Server = http://rpi400.local/db/extra<cmd> -[<module>] -[<argument>] -[<option>] [name...]
pads -[L:,B:,S:,P:,R:,T:,x,v,h] -[arg]
-B <name> <subtitle> Build new binary command
-D <name> Build skeleton directory for given project
-L Chat with PADS LLM
-S [-h] System Module
-P [-h] Project Module
-R [-h] Utilities Module
-T [-h] Test Module
-x Set -x
-v Show Version
-h Show Usage
| Script | Description |
|---|---|
| -S | Managing System Commands |
| -P | Managing Projects |
| -R | Misc helper scripts |
| -T | Testing Commands |
| Function/Class | Module | Parameters | Returns | Description |
|---|---|---|---|---|
| system_manager.sh | -S | -[b,u,l,r,h,v] [name…] | 0 success 1 error | Src Code for logic in system scripts |
| project_manager.sh | -P | -[m:,s:,d:,h,v] |
0 Success 1 Error | Src Code for logic in managing projects |
| tools_manager.sh | -R | -[s,h,v] [name] | 0 Success 1 Error | Src Code for logic in Running commands |
pads -Pfm project && pads -Pfs projectproject.
pads -Supads -Su neofetch ...pacman or yay.
| Code | Status |
|---|---|
| 0 | Success |
| 1 | Failure |
| 127 | K18 |
| 130 | Ctl+C |
| Key | Value |
|---|---|
| NA | NA |
| Files/Directories | Path | Description |
|---|---|---|
| ${base_dir}/bin | Executable Directory | |
| ${base_dir}/docs | Documentation generated by [paddocs][#paddocs] | |
| ${base_dir}/etc | Directory for traps/config files | |
| ${base_dir}/lib | Libraries used by PADS | |
| ${base_dir}/src | Source Code for functions |
paddocs do somethingpaddocs do somethingpaddocs do somethingpaddocs do somethinggit checkout -b feature-name)git commit -m "Add feature")git push origin feature-name)MIT License
Copyright (c) 2022 Joe Corso
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.padsrc to main project folder for a file to
search.Datasphere. A project for a personal
repository. This lib is now a going to move in the direction of a
project/package manager for the repository.proj ->
/src/pads/project_manager.shsys ->
`/src/pads/system_manager.shgetopts will be created as a
new binary command in /$base_dir/binsys, proj, tools, paddocs, man pads, info pads
title="PADS"
subtitle="Personal Assistant and Deployment System"
version="1.1.1"
OPTSTRING="L:,B:,S:,P:,R:,T:,x,v,h"
synopsis="<cmd> -[<module>] -[<argument>] -[<option>] [name...]"
syntax="${0##*/} -[${OPTSTRING}] -[arg]"
base_dir="$(dirname "$(readlink -f "${0%/*}")")"
. "${base_dir}/etc/paulBunyan.sh"
description(){
cat << EOF
* ${title}
* ${subtitle}
EOF
}
usage(){
cat << EOF
Synopsis: $synopsis
Syntax: $syntax
Usage:
-B <name> <subtitle> Build new binary command
-D <name> Build skeleton directory for given project
-L ${opts} Chat with PADS LLM
-S [-h] System Module
-P [-h] Project Module
-R [-h] Utilities Module
-T [-h] Test Module
-x Set -x
-v Show Version
-h Show Usage
Ex: pads -Pfs <flaskproject> | pads -Su nano neofetch firefox
See also: sys, proj, tools, man pads, info pads
EOF
}
manual(){
description
usage
}
while getopts ${OPTSTRING} mod; do
mod=${mod}
case ${mod} in
x) set -$mod;;
B) . "${base_dir}/pads/build_cmd.sh"; exit;;
D) . "${base_dir}/pads/build_dir.sh"; exit;;
S) cmd="sysmgr"; param=${OPTARG};;
P) cmd="projmgr"; param=${OPTARG};;
R) param=${OPTARG}; cmd="handyman";;
T)
param=${OPTARG}; exec $base_dir/bin/sys -$param;
;;
v) echo "${version}"; exit;;
h) usage; exit;;
?) echo " * ${0##*/} -h for help"; exit 2;;
*) echo "K18 Error"; exit 2;;
esac
done
[[ $# -eq 0 ]] && manual && exit
${base_dir}/bin/${cmd} -${param} ${@:2}Template generated by ChatGPT
Documentation generated by PADDOCS
Compendium section: 10-docs
Title: PADS
Author: Joe Corso
Tags: [self-generate, documentation, manual, bash]
Status: [ Draft / Final / Reviewed ]
Post ID: pads.md
Template: programming-manual.md
License: All Rights Reserved
Schema: manuals
Version: 1.1.1
This manual is for PROJ (0.0.5, 2025-02-26) A module made for PADS
The purpose of this module is to automate project management on your machine. It should build, start, delete and manage the a virual env, projects from differents languages and web frameworks.
Repository: https://github.com/padsRepo/pads
Blog: https://padsrepo.github.io/pads/
Docs: https://github.com/padsRepo/pads/wiki
<cmd> -[<argument>] -[<option>] [name...]
proj -[p:,f:,g:,h,v] -[m,s,d] <name>
-p -[m,s,d] <name> Manage a python project
-f -[m,s,d] <name> Manage a flask project
-g -[m,s,d] <name> Manage a pygame project
-h Show usage
-v Show version
proj -fm project && proj -fs projectproject.
proj -d projectproject.
proj -e flaskflask.
Exit Status:
| Code | Status |
|---|---|
| 0 | Success |
| 1 | Failure |
| 127 | K18 |
| 130 | Ctl+C |
Environment Variables:
| Key | Value |
|---|---|
| $project_dir | “${BIN_DIR}/lib/${proj}” “${HOME}/srv/${proj:-$name}” “${HOME}/games/${proj}” |
| $template_dir | “python” “flask” “game” |
Config Files/Directories:
| Files/Directories | Path | Description |
|---|---|---|
| $HOME/pads/bin/proj | Executable Directory | |
| $HOME/pads/src/proj/parseopts | Source Code Directory | |
| $HOME/pads/handler/signales/pads.sig | Directory for signal handlers |
MIT License
Copyright (c) 2022 Joe Corso
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
info pads
module="(P)roject Module"
description="For managing projects that are not bash"
version="0.0.5"
author="Joe Corso (https://www.joecorso.com)"
created="$(date -d '20230605')"
docs="https://github.com/padsRepo"
license="MIT License"
OPTSTRING="p:,f:,g:,h,v"
options="-[m,s,d] <name>"
synopsis="<cmd> -[<argument>] -[<option>] [name...]"
syntax="${0##*/} -[${OPTSTRING}] ${options}"
base_dir="$(dirname "$(readlink -f "${0%/*}")")"
description(){
cat << EOF
* ${module}
* ${description}
EOF
}
usage(){
cat << EOF
Synopsis: $synopsis
Syntax: $syntax
Usage:
-p $options Manage a python project
-f $options Manage a flask project
-g $options Manage a pygame project
-h Show usage
-v Show version
Ex: ${0##*/} -r neofetch | ${0##*/} -u nano neofetch firefox
See also: man ${0##*/}, man pads, info pads, pads
Author: $author
Version: $version
Created: $created
$license
EOF
}
manual(){
description
usage
}
while getopts $OPTSTRING arg; do
arg=$arg
opt=${OPTARG#*-}
name=${3:-$2}
case $arg in
p)
project_dir="${BIN_DIR}/lib/${proj}"
template_dir="python"
echo "This is disabled for now line: $LINENO module: $module_dir/proj/proj"
exit
;;
f)
project_dir="${HOME}/srv/${proj:-$name}"
template_dir="flask"
virtualenv_dir="${HOME}/env/flask"
;;
g)
project_dir="${HOME}/games/${proj}"
template_dir="game"
virtualenv_dir="${HOME}/env/games"
;;
h) manual; exit;;
v) echo $version; exit;;
*) echo " * ${0##*/} -${mod}h for help"; exit 2;;
esac
done
[[ $# -eq 0 ]] && manual && exit 2
. "${base_dir}/src/proj/parseopts"
${opt}_projTemplate generated by ChatGPT
Documentation generated by PADDOCS
Compendium section: 10-docs
Title: (P)roject Module
Author: Joe Corso
Tags: [self-generate, documentation, manual, bash]
Status: [ Draft / Final / Reviewed ]
Post ID: proj.md
Template: programming-manual.md
License: All Rights Reserved
Schema: manuals
Version: 0.0.5
This manual is for SYS (0.0.5, 2025-02-26) A module made for PADS
The purpose of this module is to automate system commands on your machine. It should be able to build your DE, WM, configs, install the OS, set up your bashrc, backup your machine, etc.
Repository: https://github.com/padsRepo/pads
Blog: https://padsrepo.github.io/pads/
Docs: https://github.com/padsRepo/pads/wiki
<cmd> -[<argument>] -[<option>] [name...]
sys -[b,u,i,l,d,r:,m,s,h,v] [name...]
-b Backup System
-u [name...] Update machine. Supply name of package to install.
-i Update pads' info page
-l List packages on this machine
-d Update pads' man page
-r <name...> Remove supplied packages
-m Set up mariadb
-s Show system information
-h Show help
-v Show version
sys -msys -usys -u neofetch ranger btop ...pacman or yay.
Exit Status:
| Code | Status |
|---|---|
| 0 | Success |
| 1 | Failure |
| 127 | K18 |
| 130 | Ctl+C |
Environment Variables:
| Key | Value |
|---|---|
| BACKUP_DIR | ~/.config/pads/profile.cfg |
Config Files/Directories:
| Files/Directories | Path | Description |
|---|---|---|
| $PADS_DIR/bin/sys | Executable Directory | |
| $PADS_DIR/sys/ |
Source Code Directory | |
| $PADS_DIR/etc/pads.sig | Directory for trap signals/config files |
MIT License
Copyright (c) 2022 Joe Corso
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
info pads
module="(S)ystem Module"
description="Running system commands on your machine."
version="0.0.5"
author="Joe Corso (https://www.joecorso.com)"
created="$(date -d '20230605')"
docs="https://github.com/padsRepo"
license="MIT License"
packages="${@:2}"
OPTSTRING="b,u,i,l,d,r:,m,s,h,v"
synopsis="<cmd> -[<argument>] -[<option>] [name...]"
syntax="${0##*/} -[$OPTSTRING] [name...]"
base_dir="${PADS_DIR}/sys"
. "${PADS_DIR}/etc/pads.sig"
description(){
cat << EOF
* ${module}
* ${description}
EOF
}
usage(){
cat << EOF
Synopsis: ${synopsis}
Syntax: ${syntax}
Usage:
-b Backup System
-u [name...] Update machine. Supply name of package to install.
-i Update pads' info page
-l List packages on this machine
-d Update pads' man page
-r <name...> Remove supplied packages
-m Set up mariadb
-s Show system information
-h Show help
-v Show version
Ex: ${0##*/} -r neofetch | ${0##*/} -u nano neofetch firefox
See also: man ${0##*/}, man pads, info pads, pads
EOF
}
manual(){
description
usage
}
while getopts $OPTSTRING name; do
arg=$name
case $arg in
b) function="backup";;
u) function="update";;
i) function="updateinfo";;
l) pacman -Qqen; exit;;
d) function="updateman";;
r) sudo pacman -Rcns $packages; exit;;
m) function="setupmariadb";;
s) function="sysinfo";;
h) usage; exit;;
v) echo "$version"; exit;;
?) echo " * ${0##*/} -${mod}${arg}h for help"; exit 2;;
esac
done
[[ -z $arg ]] && manual && exit
. "${base_dir}/${function}"
[[ $? -eq 0 ]] && msg "Success!" || msg "Failure!"Template generated by ChatGPT
Documentation generated by PADDOCS
Compendium section: 10-docs
Title: (S)ystem Module
Author: Joe Corso
Tags: [self-generate, documentation, manual, bash]
Status: [ Draft / Final / Reviewed ]
Post ID: sys.md
Template: programming-manual.md
License: All Rights Reserved
Schema: manuals
Version: 0.0.5
This manual is for TOOLS (0.0.5, 2025-02-26) A module made for PADS
The purpose of this module is to run random scripts on your machine.
Repository: https://github.com/padsRepo/pads
Blog: https://padsrepo.github.io/pads/
Docs: https://github.com/padsRepo/pads/wiki
<cmd> -[<argument>] -[<option>] [name...]
tools -[s,v,h] [name...]
-s
passgen Generate a random password
note Take a note
buildpkg Build Package to install
conkystart Start Conky panels
timer <int> Start a countdown timer for 3 seconds
progress Show a progress bar
resetpath Reset default $PATH
-h Show help
-v Show version
tools -s genpasstools -s timer 10tools -s noteExit Status:
| Code | Status |
|---|---|
| 0 | Success |
| 1 | Failure |
| 127 | K18 |
| 130 | Ctl+C |
Environment Variables:
| Key | Value |
|---|---|
| None | N/A |
Config Files/Directories:
| Files/Directories | Path | Description |
|---|---|---|
| $HOME/pads/bin/tools | Executable Directory | |
| $HOME/pads/src/tools/ |
Source Code Directory | |
| $HOME/pads/handler/signales/pads.sig | Directory for signal handlers |
MIT License
Copyright (c) 2022 Joe Corso
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
info pads
module="(R)un Module"
description="Running misc scripts. Good for testing"
version="0.0.3"
author="Joe Corso (https://www.joecorso.com)"
created="$(date -d '20230605')"
docs="https://github.com/padsRepo"
license="MIT License"
packages="${@:2}"
OPTSTRING="s,v,h"
synopsis="<cmd> -[<argument>] -[<option>] [name...]"
syntax="${0##*/} -[$OPTSTRING] [name...]"
base_dir="$(dirname "$(readlink -f "${0%/*}")")"
. "${PADS_DIR}/etc/pads.sig"
description(){
cat << EOF
* ${module}
* ${description}
EOF
}
usage(){
cat << EOF
Synopsis: $synopsis
Syntax: $syntax
Usage:
-s
passgen Generate a random password
note Take a note
buildpkg Build Package to install
conkystart Start Conky panels
timer <int> Start a countdown timer for 3 seconds
progress Show a progress bar
resetpath Reset default \$PATH
-h Show help
-v Show version
Ex: paddocs -c pads -l bash -nmrwxs | paddocs -c paddocs -l bash -wsxp
See also: man paddocs, info pads
EOF
}
manual(){
description
usage
}
while getopts $OPTSTRING arg; do
opt=${OPTARG}
name=${3:-$2}
case ${arg} in
s) . "${PADS_DIR}/tools/${name}" $OPTARG; exit;;
v) echo "$version"; exit;;
h) manual; exit;;
*) echo "$OPTARG * ${0##*/} -${mod}h for help"; exit 2;;
esac
done
[[ $# -eq 0 ]] && manual && exit 2Template generated by ChatGPT
Documentation generated by PADDOCS
Compendium section: 10-docs
Title: (R)un Module
Author: Joe Corso
Tags: [self-generate, documentation, manual, bash]
Status: [ Draft / Final / Reviewed ]
Post ID: tools.md
Template: programming-manual.md
License: All Rights Reserved
Schema: manuals
Version: 0.0.3