A GitHub template for building small A-type ARexx doors for ABBS / ABBS for All on classic AmigaOS.
It distills the reusable integration, validation, installation and Aminet packaging lessons from ABBS Last Callers without carrying over Last Callers-specific logic.
- minimal working
DoorName.abbs - native ABBS A-type ARexx integration
- Shell-mode smoke-test path
- 80-column-safe baseline output
- conservative ABBS host RC handling
- per-node
NodeXConfig/NodeXMenudocumentation - host-side source checks
- GitHub Actions CI
- reproducible Aminet
.lhapackaging - release checklist
- MIT license
-
Create a repository from this template.
-
Rename
DoorName.abbs. -
Edit
scripts/config.sh. -
Replace the example door body.
-
Update README, Aminet metadata and docs.
-
Run
make check. -
Shell-test on AmigaOS:
rx YourDoor.abbs -
Install as an ABBS A-type door and validate locally.
-
Validate from a remote Telnet caller before a stable release.
-
Run
make aminet-check.
The script detects an inherited ABBS node ARexx host with:
currentHost = UPPER(ADDRESS())
doorMode = LEFT(currentHost, 11) = 'ABBS NODE #'In door mode it outputs through WRITETEXT + OUTIMAGE.
Outside ABBS it uses SAY for Shell testing.
Do not add a hard-coded ADDRESS statement to the normal A-type path without
evidence that your door requires it.
Nonzero ABBS host RC values are terminal by default. A derived door may handle
an exact nonzero RC locally only when official documentation for that specific
command defines it as a normal informational result. Unknown nonzero RC values,
carrier loss, and transport-style failures remain terminal, with no later host
calls. See AGENTS.md for the authoritative rule.
The baseline WRITETEXT / OUTIMAGE path continues to exit on every nonzero
RC unless official documentation for those exact calls establishes otherwise.
It does not retry or continue output after carrier loss.
make check
make aminet
make aminet-check
make cleanSearch for and replace:
DoorName
ABBSDoorTemplate
REPLACE-ME
YOUR NAME
YOUR EMAIL
See docs/TEMPLATE-CHECKLIST.md.
Host CI runs the source checks and validates reproducible Aminet package
construction with make aminet-check. It is not AmigaOS/ABBS runtime
validation. A derived project must perform its own AmigaOS Shell, local ABBS
and remote Telnet validation.
Reusable template improvements are welcome; door-specific functionality belongs
in repositories created from this template. See CONTRIBUTING.md for the
contribution guide and AGENTS.md for the permanent ABBS design contract.
MIT.