docs: add quicklisp setup and no-.lisp convention to AGENTS.md
Quicklisp local-projects must be symlinked to memex projects/ to prevent stale copies. Projects contain only .org files — .lisp is generated by tangling.
This commit is contained in:
@@ -12,7 +12,16 @@ When delegating work to subagents, follow this iteration loop:
|
||||
error", "The README doesn't explain the --package flag", etc.
|
||||
4. **Iterate** — repeat steps 2-3 until zero issues remain. Do not accept
|
||||
work that still has bugs, documentation gaps, or untested edge cases
|
||||
5. **Accept** — only when you cannot find any more issues
|
||||
5. **Accept** — only when you cannot find any more issues. **DONE means:**
|
||||
- All unit tests pass (`(fiveam:run-all-tests)` or equivalent)
|
||||
- Integration tests pass (if applicable)
|
||||
- The project runs and the changed feature works end-to-end (start the runtime,
|
||||
exercise the feature, verify output)
|
||||
- No regressions introduced (pre-existing tests still pass, unchanged features
|
||||
still work)
|
||||
- `check-parens` reports zero issues on modified org files
|
||||
- If the project has a runnable entry point (daemon, TUI, demo), verify it
|
||||
starts and the change is visible
|
||||
|
||||
Key principles:
|
||||
- The subagent implements, the architect reviews. Do not switch roles.
|
||||
@@ -187,6 +196,24 @@ When sending code to the REPL, use the correct `(in-package ...)` form first.
|
||||
| `:cl-tty.slot` | Slot/plugin system |
|
||||
| `:cl-tty.markdown` | Markdown rendering |
|
||||
|
||||
## Setup
|
||||
|
||||
Before working on CL projects in this monorepo:
|
||||
|
||||
- **Quicklisp local-projects** — ensure `~/quicklisp/local-projects/` is a symlink
|
||||
to `~/memex/projects/`. This eliminates stale copies and ensures cl-tty,
|
||||
passepartout, and other projects are loaded from the same location being edited:
|
||||
```
|
||||
ln -sf ~/memex/projects/cl-tty ~/quicklisp/local-projects/cl-tty
|
||||
```
|
||||
|
||||
- **No .lisp files** — projects contain only `.org` source files. `.lisp` files
|
||||
are generated by tangling and are never edited directly. After cloning or
|
||||
pulling, tangle all org files before loading:
|
||||
```
|
||||
cd projects/passepartout && for f in org/*.org; do projects/tangle-tool/tangle "$f"; done
|
||||
```
|
||||
|
||||
## Commands
|
||||
|
||||
Tangle a single file:
|
||||
|
||||
Reference in New Issue
Block a user