CodeSkel64 Project @ SerDigital64 | Sunday, Apr 10, 2022 | 2 | Sunday, May 29, 2022

Overview

CodeSkel64 is a simple tool for creating initial project structures and code from skeletons. Skeletons can be single-file templates with replaceable tags or complex directory structures.

The current catalog is available on GitHub and open for contributions:

Collection Content
Ansible Ansible assets
Bash Bash assets
Container Container assets
GIT GIT assets
Licenses Software Licenses
MarkDown MarkDown assets
MkDocs MkDoc assets
VSCode VSCode assets
YAML YAML assets
Python Python assets
Terraforkm Terraform assets

In addition to single files and directories skeletons can be grouped together in the form of combos to allow the creation of complete project structures:

Combo Content
aplatform64-role Ansible A:Platform64 role
git-generic GIT repository for generic project
git-terraform-module GIT repository for Terraform Module
git-shellscript GIT repository for generic shell script project

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
Usage: codeskel64 <-d|-l|-c> [-w] [-o Collection] [-k Skeleton] [-t Project] [-g Target] [-a Library] [-h]

Create initial structure from skeletons and templates

Commands

    -d           : Download catalog to LIBRARY
    -l           : List collection and skeletons from LIBRARY
    -c           : Create initial code structure

Flags

    -w           : Overwrite target
    -h           : Show help

Parameters

    -o Collection: Collection name
    -k Skeleton  : Skeleton name
    -t Project   : Destination full path
    -g Target    : New structure name. Default: skeleton's default
    -a Library   : Library location. Default: XDG_DATA_HOME/codeskel64

Create new project or code template

Use this option to create new files or projects.

For example:

  • Create new bash script:
1
codeskel64 -c -o Bash -k script-generic -t ~/MyBashProject -g new-bash-script

List collections and skeletons

Use this option to list available options from the local library

1
codeskel64 -l

Update local catalog

Use this option to download the latest collections and skeletons from the CodeSkel64 GitHub repo

1
codeskel64 -d

Deployment

OS Compatibility

  • AlmaLinux8
  • Alpine3
  • CentOS7
  • CentOS8
  • CentOS9
  • Debian9
  • Debian10
  • Debian11
  • Fedora33
  • Fedora34
  • Fedora35
  • MacOS12
    • Requires Bash4 (e.g. homebrew install bash)
  • OracleLinux7
  • OracleLinux8
  • RedHatLinux8
  • Ubuntu20
  • Ubuntu21

Requirements

  • Minimum Bash version: 4

Installation

  • Download codeskel64 from the source GitHub repository:
1
2
3
4
curl -O https://raw.githubusercontent.com/serdigital64/codeskel64/main/codeskel64
chmod 0755 codeskel64
# Optional: move to searchable path
mv codeskel64 ~/.local/bin
  • Update the skeleton library:
1
codeskel64 -d

Contributing

Help on implementing new features and maintaining the code base is welcomed.

License

GPL-3.0-or-later

Author

© 2021 - 2022 SerDigital64's Blog

Powered by Hugo with theme Dream.

Articles in this site are licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0)

avatar

SerDigital64's BlogTraveler log from my journey through the lands of the ever evolving digital world

About SerDigital64
███████╗███████╗██████╗                         
██╔════╝██╔════╝██╔══██╗                        
███████╗█████╗  ██████╔╝                        
╚════██║██╔══╝  ██╔══██╗                        
███████║███████╗██║  ██║                        
╚══════╝╚══════╝╚═╝  ╚═╝                        
                                  
██████╗ ██╗ ██████╗ ██╗████████╗ █████╗ ██╗     
██╔══██╗██║██╔════╝ ██║╚══██╔══╝██╔══██╗██║     
██║  ██║██║██║  ███╗██║   ██║   ███████║██║     
██║  ██║██║██║   ██║██║   ██║   ██╔══██║██║     
██████╔╝██║╚██████╔╝██║   ██║   ██║  ██║███████╗
╚═════╝ ╚═╝ ╚═════╝ ╚═╝   ╚═╝   ╚═╝  ╚═╝╚══════╝
                                  
██████╗  ██╗  ██╗                               
██╔════╝ ██║  ██║                               
███████╗ ███████║                               
██╔═══██╗╚════██║                               
╚██████╔╝     ██║                               
╚═════╝      ╚═╝                               


Solutions_Architect && SysAdmin && DevOpsEngineer
Developer = 'for_the_fun'
Linux && OSS_advocate
Sci_Fi = 'fan'
Photography && DIY == enthusiast()

eMail('serdigital64@gmail.com')
Articles in this site are licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0)