lib-modules Public
Code
Use Git or checkout with SVN using the web URL.
No matching headings.
lib-modules
This repository is the umbrella catalog for reusable Fortran packages developed under the FortranGoingOnForty umbrella.
It is intentionally not a traditional code monorepo.
The goal is:
- keep shared docs, roadmap, and package discovery in one place
- keep each package in its own repository with its own history, releases, issues, and CI
- collect those package repos here as Git submodules under
packages/
That gives us the discoverability and organization benefits of one home page without burying every package inside a giant top-level repo.
Start here if you want the big-picture package map:
Go straight to the first standalone package if you already know what you want:
The current next library target is fgof-termios, with fgof-keys and fgof-expect close behind in the backlog.
Why This Structure
This repo exists to answer two different needs cleanly:
- People should be able to land on one GitHub repo and understand the whole library family.
- People should also be able to find, clone, star, release, and depend on one package at a time.
Git submodules are the best fit here because they preserve:
- independent package history
- independent package versioning
- independent package visibility on GitHub
- easy standalone consumption by
fpmusers
Layout
lib-modules/
README.md
LANDSCAPE.md
docs/
REPO-STRUCTURE.md
packages/
README.md
fgof-process/ # git submodule
fgof-fs/ # git submodule
fgof-pty/ # git submodule
fgof-lineedit/ # git submodule
...
scripts/
add-package-submodule.sh
Package Catalog
| Package | Status | Repo Model | Notes |
|---|---|---|---|
fgof-process |
released v0.1.0 |
standalone repo + submodule | POSIX-first process helpers, mounted at packages/fgof-process |
fgof-fs |
released v0.1.0 |
standalone repo + submodule | filesystem and path helpers, mounted at packages/fgof-fs |
fgof-pty |
released v0.1.0 |
standalone repo + submodule | POSIX-first PTY helpers, mounted at packages/fgof-pty |
fgof-lineedit |
released v0.1.0 |
standalone repo + submodule | Fortran-native line editing helpers, mounted at packages/fgof-lineedit |
fgof-watch |
released v0.1.0 |
standalone repo + submodule | polling-first watch helpers, mounted at packages/fgof-watch |
fgof-termios |
scaffolded | standalone repo + submodule | terminal mode helpers, mounted at packages/fgof-termios |
As packages are created:
- each package gets its own repository
- each package is added here under
packages/as a submodule - this table should be updated with its repo URL and current status
How To Use This Repo
Clone the umbrella repo when you want the catalog, landscape docs, and package submodules together:
git clone --recurse-submodules git@github.com:FortranGoingOnForty/lib-modules.git
Go directly to an individual package repo when you only want one library.
Working Rules
- Root repo holds docs, shared conventions, and package discovery.
- Package code should live in standalone repos, not directly in the root repo.
- The
packages/directory is reserved for Git submodules and package-specific notes. - Cross-package dependencies should stay shallow and optional.
- Every package should remain usable as a standalone
fpmdependency.
Current Packages
fgof-process: POSIX-first process and subprocess helpersfgof-fs: filesystem and path helpersfgof-pty: POSIX-first PTY and terminal session helpersfgof-lineedit: Fortran-native line editing helpers for interactive CLIsfgof-watch: polling-first watch helpers for tools and dev loopsfgof-termios: terminal mode helpers for interactive tools
See LANDSCAPE.md for the broader ecosystem assessment and package backlog.