Skip to content

VitaSound/feco

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

feco — VitaSound Forth ecosystem catalog

Russian version

An experimental toolkit and library set for Gforth, built with AI assistance. The goal is modern Forth development: a unified toolchain (build, tests, lint, coverage), declarative dependencies, reproducible releases, and IDE integration. Long term — AI assistants in the Forth dev loop, from writing code to verification via fmix test, flint, and fcov.

All repositories live under VitaSound on GitHub. Locally they sit next to feco in the same parent directory (FECO_WORKSPACE): e.g. ~/fmix when feco is ~/feco, or /opt/vitasound/fmix for an isolated workspace — see docs/shell-setup.md.

Install everything:

cd /path/to/feco
./scripts/clone-ecosystem.sh          # latest release tags (user mode)
./scripts/clone-ecosystem.sh --dev    # main/master for development
./scripts/update-ecosystem.sh         # refresh tags, clones, catalog, deps

Forth and modern tooling — illustration for the fmix article

The article that started this stack — about fmix:

Stack (overview)

frules                                    ← Forth rules for AI assistants
        │
fsemver · ttester · fenum · f             ← shared libraries
        │
fmix · flint · fcov · fmcp · fjson        ← tooling
        │
fhdlgen / fhdl                            ← HDL generators

Library and tool catalog

Project Purpose Version Last updated % coverage Repository
frules Compact Forth rules for Cursor and other AI assistants 0.1.1 2026-05-27 2% VitaSound/frules
fsemver Semver requirement parser and matcher (~>, >=, …) for package.4th 0.1.1 2026-05-24 100% VitaSound/fsemver
ttester Hayes/Ertl test framework + VitaSound extensions (T{ }T, expect-*) 1.2.1 2026-05-24 29% VitaSound/ttester
fenum Generic containers (ulist, Elixir Enum–style type-tag dispatch) 0.1.2 2026-06-08 98% VitaSound/fenum
f theForthNet package manager; compatibility layer 0.2.4 2025-07-03 8% VitaSound/f
fmix Build tool, package manager, test runner (fmix new, packages.get, test) 0.8.0 2026-06-08 75% VitaSound/fmix
flint Linter: warns on duplicate word definitions in .4th 0.3.0 2026-06-08 87% VitaSound/flint
fcov Code coverage collection and reports (console, JSON, LCOV, HTML) 0.3.2 2026-06-08 81% VitaSound/fcov
fmcp MCP stdio bridge: fmix, flint, fcov from Cursor and other MCP clients 0.2.0 2026-06-08 71% VitaSound/fmcp
fjson Minimal JSON write, read-lite, and node tree (MCP NDJSON, toolchain) 0.2.5 2026-06-08 100% VitaSound/fjson
fhdlgen Gforth HDL generator: IR project → module → port, Verilog emit 0.3.1 2026-05-24 90% VitaSound/fhdlgen
fhdl Early Verilog generator from Forth DSL (fhdlgen predecessor) 76% VitaSound/fhdl

Versions are the latest Git tag on GitHub: ./scripts/fetch-tags.shdata/tags.json (fetched_at: 2026-06-08T10:21:44Z). Coverage (definition coverage via fcov run fmix test): ./scripts/fetch-coverage.shdata/coverage.json (fetched_at: 2026-06-08T10:22:38Z). Scripts: ./scripts/clone-ecosystem.sh, ./scripts/update-ecosystem.sh. Shell: docs/shell-setup.md. Agent instructions: AGENTS.md.

Typical workflow

New project:

fmix new <name>       # scaffold: package.4th, tests/, .gitignore, …
cd <name>
~/frules/install.sh . gforth   # Forth rules → .cursor/rules/
fmix packages.get
flint
fmix test
fcov run && fcov report   # optional

Existing project:

cd <project>
~/frules/install.sh . gforth   # if rules not installed yet
fmix packages.get    # dependencies from package.4th
flint                # lint (optional)
fmix test            # *_test.4th
fcov run && fcov report   # coverage (optional)

Cursor: frules — assistant rules for .4th (symlinks in .cursor/rules/); fmcp — MCP server for fmix / flint / fcov from the IDE. See frules/README.md, fmcp/README.md.

See also

About

Forth Ecosystem

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages