Eris maintains an up-to-date set of reports for every file in a codebase.
Removes the shell's "Killed" message and lets fill3's terminal-restore codes flush via normal interpreter exit. Worker.kill() now SIGKILLs only the worker thread's subprocess descendants (via /proc/PID/task/TID/children, recursing through shell=True grandchildren), so editor and xdg-open spawns from the main thread survive quit. A _killed flag skips persisting result pickles for aborted tool runs. start_new_session=True is no longer needed on editor/xdg-open launches since the kill is worker-thread-scoped. |
||
|---|---|---|
| eris | ||
| packaging | ||
| tests | ||
| .gitignore | ||
| .python-version | ||
| BUGS | ||
| install | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| test-all | ||
| TODO | ||
| uv.lock | ||
Eris Codebase Monitor
Summary
Eris maintains an up to date set of reports for every file in a codebase.
Installation
Debian / Ubuntu / Fedora / Arch / Alpine
Install uv first if you don't have it.
Use uv to install eris:
uv tool install --python 3.14 git+https://forgejo.tail556789.ts.net/ahamilton/eris@2026.8.3
Then use eris to install all the tools it uses:
eris --install-all-tools
Then to run:
eris
eris-webserver <project> # Or a simple web interface.
Tools
| File types(103) | Tools(63) |
|---|---|
| .* | contents • metadata • git_diff • git_blame • git_log |
| .py | python_syntax • python_unittests • pytest • pydoc • mypy • python_coverage • pycodestyle • pyflakes • pylint • python_gut • python_mccabe • bandit • black • isort |
| .pl .pm .t | perl_syntax • perldoc |
| .p6 .pm6 | perl6_syntax |
| .pod .pod6 | perldoc |
| .c .h | c_syntax_gcc • cppcheck |
| .cc .cpp .hpp | cpp_syntax_gcc • cppcheck |
| .rb | ruby_syntax • rubocop |
| .rs | rustfmt • clippy |
| .lua | lua_syntax • lua_check |
| .js .ts | js_syntax • typescript_check |
| .php | php8_syntax |
| .go | go_vet • godoc |
| .bash .sh .dash .ksh | shellcheck |
| .wat | wat_syntax_check |
| .wasm | wasm_validate • wasm_objdump |
| pdf2txt | |
| .html .htm | html_syntax • html2text • elinks |
| .yaml .yml | yamllint |
| .md .epub .docx .odt .rst | pandoc |
| .zip .jar .apk .egg .whl | zipinfo |
| .tar.gz .tgz | tar_gz |
| .tar.bz2 | tar_bz2 |
| .7z | 7z |
| .xz | unxz |
| .a | ar • nm |
| .o | objdump_headers • objdump_disassemble • readelf |
| .so | nm |
| .deb | dpkg_contents • dpkg_info |
| .rpm | rpm |
| .png .jpg .jpeg .gif .bmp .tif .tiff .tga .ico .xpm | mediainfo • pil |
| .svg .svgz | cairosvg |
| .mkv .mka .mks .ogg .ogm .avi .wav .mpeg .mpg .vob .mp4 .mpgv .mpv .m1v .m2v .mp2 .mp3 .asf .wma .wmv .qt .mov .rm .rmvb .ra .ifo .ac3 .dts .aac .flac .aiff .aifc .au .iff .flv .srt .ssa .ass .sami | mediainfo |
| .iso | isoinfo |