796babaaed
/loop [interval] <prompt> currently schedules the first wakeup one full interval after the command runs (next_due_at = now + interval). When the user just told Hermes what to check, waiting the whole interval before any output feels like the command was ignored. Add an opt-in --start-now flag that keeps Claude Code parity as the default but lets the user run the first iteration immediately, then continue on the cadence: /loop 1h check the deploy status # first run in 1h (unchanged) /loop 1h --start-now check the deploy # first run now, then hourly - parse_loop_args(): parse and strip --start-now (leading or trailing) - LoopState: new persisted start_now field (default False, survives serialization round-trip and old rows missing the field) - LoopManager.set(): next_due_at = now when start_now, for both fixed interval and self-paced modes - dispatch_loop_command(): wire start_now through, update help text, and report "First wakeup fires now" in the confirmation - website/docs: document the flag in the /loop guide - tests: parse (trailing/leading/absent/self-paced/combo/prompt-word), tick lifecycle (due immediately vs after interval), serde round-trip, and dispatch-level confirmation
Website
This website is built using Docusaurus, a modern static website generator.
Installation
yarn
Local Development
yarn start
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
Build
yarn build
This command generates static content into the build directory and can be served using any static contents hosting service.
Deployment
Using SSH:
USE_SSH=true yarn deploy
Not using SSH:
GIT_USER=<Your GitHub username> yarn deploy
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the gh-pages branch.
Diagram Linting
CI runs ascii-guard to lint docs for ASCII box diagrams. Use Mermaid (````mermaid`) or plain lists/tables instead of ASCII boxes to avoid CI failures.