This project is developed by using various developer systems and tools:
- GIT SCM/VCS
- IDE/Editor: Neovim, Vim, KDE Kate, VS Code etc.
- Shell: zsh / bash
- System: Unix/Linux-based, e.g. Debian (Ubuntu/Kubuntu) or alike ; MS Windows is not advised
- others...
Less is more - Chilon of Sparta (6th century BC)
- Brevity
- The code and docs must be brief / quick / easy to read; unavoidable complexities are allowed
- Inexpensiveness
- Requirement of zero maintenance and self-sufficiency is paramount; automation is the future
- Resilience
- No breaking changes or complexity are allowed unless cost/benefit ratio tends to be zero
- Aggressive force-pushing and squash-rebasing into specific semver versions (AFPSR)
- Consequently, tags are guaranteed to be dropped / hard reset in critical cases later
- Eexceptions to the above rule: stable tags for package managers prohibiting version replacement
- The above implies that any upstream commits pulled down may become obsolete very fast
latest
- latest released versionvX.Y.Z
- version, per semvernighlty
- testing build
main
- main/release line branchdev
- active development branch; don't use for end-productrelease/X.Y.Z
- next release; tightly coupled tomain
; very short halflife
Commits messages follow Conventional Commits spec
This project approximates the following working tree hierarchy (similar to Folder Structure Conventions ):
.
├── .IDE/ # IDE / GIT / Editor / LSP related dot folders
├──.githooks/ # Git hooks files
├── deps/ # `node_modules/`, `third_party/`, `.deps/` etc. - deps
├── build/ # Distribution/build files for end-user; not versioned in git
├── examples/ #
├── doc/ # Documentation files; both user and dev
├── src/ # Source files (alternatively `lib` or `packages`)
├── packages/ # Sources per package; subfolders may replicate top-level structure
├── test/ # Test files
├── tools/ # Dev-x executables / scripts / files
├── .file.xyz/ # Dev-x specific dotfiles
├── README.md
├── CONTRIBUTING.md
├── DEVELOPMENT.md
└── LICENSE
*.in
files ending in.in
usually mean a template file; this comes from C/C++ dev tools
e.g.README.md.in
means template of aREADME.md
- git-hooks - git hooks are used for automation; see folder
.githooks
December 18, 2023
Copyright © 2023 - Alexander Davronov (a.k.a. github@hinell), et.al.