- Common Lisp 90.8%
- Emacs Lisp 5.9%
- Shell 1%
- Python 1%
- NewLisp 0.8%
- Other 0.4%
| .github/workflows | ||
| agent-zero | ||
| deps | ||
| docs | ||
| emacs | ||
| source | ||
| templates | ||
| tools | ||
| .envrc | ||
| .gitignore | ||
| .gitmodules | ||
| AGENTS.md | ||
| flake.lock | ||
| flake.nix | ||
| hackmode-user.asd | ||
| hackmode.lisp | ||
| LICENSE | ||
| Makefile | ||
| ralp.jpg | ||
| README.org | ||
| standard.org | ||
Hackmode
- Hackmode
- Development automation boundary
- Monorepo layout
- Architecture direction
- Install
- Configure
- Migration status
- Contributions

Hackmode
Hackmode is a Common Lisp, actor-oriented investigation and reconnaissance environment built to work with StarIntel.
This repository is now the canonical Hackmode monorepo. Hackmode-owned runtime code, shell integration, Emacs integration, operation templates, and maintained helper tooling belong here. StarIntel Server, Quasar, Quasar UI, Tek9, and user dotfiles remain separate repositories and integrate through protocols/APIs rather than being vendored into this tree.
Development automation boundary
Agent Zero-specific development-worker implementation, configuration, scheduling, lane ownership, task-selection policy, and coordination belongs under agent-zero/**.
Hackmode product code, product documentation, tests, APIs, symbols, filenames, comments, and architecture must use Hackmode-native domain concepts only. Development-worker framework terminology must not leak into the product-facing tree.
Monorepo layout
-
source/ - Common Lisp runtime, operation model, local storage, recon capabilities, and shell integration.
-
emacs/ - Hackmode Emacs package. Migration from
lost-rob0t/emacs-hackmodeis tracked by issue #4. -
templates/ - Operation templates migrated from
lost-rob0t/hackmode-templates. -
tools/ - Maintained helpers and explicitly temporary legacy script compatibility. Curated migration from
lost-rob0t/hackmode-scriptsis tracked separately; generated binaries/FASLs are not accepted. -
agent-zero/ - Agent Zero development-worker profiles, coordination policy/configuration, rollback notes, and installation instructions.
-
docs/architecture/ - Hackmode product architecture and repository-boundary decisions. Agent-worker orchestration does not belong here.
See docs/architecture/monorepo.org before adding a new Hackmode repository.
Architecture direction
Hackmode is local-first. An operation must keep working when StarIntel Server is unavailable. The Common Lisp runtime is becoming the canonical owner of operation and typed asset state; Emacs and shell clients should call that boundary instead of maintaining parallel state.
The intended flow is:
recon actor
|
v
operation mailbox/event stream
|
v
local operation store
|
v
normalize + construct StarIntel-compatible document
|
v
persistent outbox
|
v
StarIntel ingest bridge
|
v
starintel-server
Install
Dependencies
Debian/Kali
sudo apt install sbcl git
Arch
sudo pacman -S sbcl git
NixOS
Install direnv, then allow the repository environment:
direnv allow
Build
make build
sudo make install
Configure
Hackmode follows the Lisp tradition of a user init file so the environment can be extended without forking the runtime.
The default init file is ~/.config/hackmode/init.lisp.
The shell work is inspired by LISH and should operate on typed Hackmode objects, not only strings. Existing commands remain callable as Common Lisp functions outside the interactive shell.
Migration status
- Common Lisp runtime: already here.
- Tek9-backed operation/local database: already here; being hardened rather than replaced casually.
- Agent Zero development profiles: under
agent-zero/, with separate database and Hackpert ownership. - Emacs package: migration in progress under issue #4.
- Operation templates: migrated into
templates/by issue #4. - Script collection: source-only curation tracked by issue #5; do not import compiled/generated artifacts.
- Canonical operation/asset protocol: issue #6.
- CouchDB/BBRF asset convergence: issue #3.
Contributions
PRs and issues are welcome. New functionality should reuse existing Hackmode/StarIntel protocols and actors before creating another repository or provider implementation.