Add repo conventions and cron documentation
This commit is contained in:
57
README.md
Normal file
57
README.md
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
# openclaw-ops
|
||||||
|
|
||||||
|
Operational repo for Ben's OpenClaw workspace.
|
||||||
|
|
||||||
|
This repo is the versioned source of truth for:
|
||||||
|
- custom skills
|
||||||
|
- scripts and helpers
|
||||||
|
- cron/automation definitions
|
||||||
|
- docs and runbooks
|
||||||
|
- core workspace guidance files
|
||||||
|
|
||||||
|
It intentionally does **not** track volatile runtime state, private memory, auth artifacts, or mailbox data.
|
||||||
|
|
||||||
|
## What is tracked
|
||||||
|
|
||||||
|
- `skills/` — custom AgentSkills and helper scripts
|
||||||
|
- `scripts/` — reusable operational scripts
|
||||||
|
- `docs/` — runbooks, architecture notes, integration docs
|
||||||
|
- `cron/` — documented recurring jobs and schedules
|
||||||
|
- selected workspace guidance files:
|
||||||
|
- `AGENTS.md`
|
||||||
|
- `SOUL.md`
|
||||||
|
- `USER.md`
|
||||||
|
- `TOOLS.md`
|
||||||
|
- `PROJECTS.md`
|
||||||
|
- `HEARTBEAT.md`
|
||||||
|
- `IDENTITY.md`
|
||||||
|
|
||||||
|
## What is not tracked
|
||||||
|
|
||||||
|
- `MEMORY.md`
|
||||||
|
- `memory/`
|
||||||
|
- `state/`
|
||||||
|
- `mail/`
|
||||||
|
- runtime/local directories like `.openclaw/`, `.opencode/`, `tmp/`
|
||||||
|
- generated caches and auth material
|
||||||
|
|
||||||
|
## Working pattern
|
||||||
|
|
||||||
|
Recommended workflow:
|
||||||
|
1. Make changes in the workspace.
|
||||||
|
2. Commit small, coherent units of work.
|
||||||
|
3. Push when the task is complete or the checkpoint is useful.
|
||||||
|
|
||||||
|
Default philosophy:
|
||||||
|
- commit often
|
||||||
|
- push deliberately
|
||||||
|
- never commit secrets
|
||||||
|
- keep operational state out of git unless intentionally templated
|
||||||
|
|
||||||
|
## Repo conventions
|
||||||
|
|
||||||
|
See `docs/repo-conventions.md` for commit/push guidance and repo hygiene.
|
||||||
|
|
||||||
|
## Cron / automation
|
||||||
|
|
||||||
|
See `cron/README.md` for the current recurring-job layout and documentation pattern.
|
||||||
30
cron/README.md
Normal file
30
cron/README.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Cron / Automation
|
||||||
|
|
||||||
|
This directory documents recurring jobs and their schedules.
|
||||||
|
|
||||||
|
Goal: make it obvious what runs, when it runs, why it exists, and what script/skill it depends on.
|
||||||
|
|
||||||
|
## Layout
|
||||||
|
|
||||||
|
- `*.md` — one file per recurring job
|
||||||
|
- each file should record:
|
||||||
|
- job name
|
||||||
|
- purpose
|
||||||
|
- schedule
|
||||||
|
- entrypoint command/script
|
||||||
|
- dependencies
|
||||||
|
- expected output/behavior
|
||||||
|
- notes on state or alerting
|
||||||
|
|
||||||
|
## Current documented jobs
|
||||||
|
|
||||||
|
- `daily-overview.md`
|
||||||
|
- `github-notifications.md`
|
||||||
|
- `capmetro-monitor.md`
|
||||||
|
- `gmail-unread-poll.md`
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
This folder is documentation-first.
|
||||||
|
|
||||||
|
It does not need to mirror the exact runtime scheduler format as long as it clearly explains the active pattern and entrypoints.
|
||||||
31
cron/capmetro-monitor.md
Normal file
31
cron/capmetro-monitor.md
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# CapMetro Monitor
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
Watch for CapMetro service changes relevant to Ben's commute, especially Route 5 and MetroRail-related monitoring assets.
|
||||||
|
|
||||||
|
## Entrypoints
|
||||||
|
|
||||||
|
- Skill: `skills/capmetro-monitor/`
|
||||||
|
- Primary monitor: `skills/capmetro-monitor/scripts/monitor.sh`
|
||||||
|
- Change check: `skills/capmetro-monitor/scripts/check-changes.sh`
|
||||||
|
- Route status helper: `skills/capmetro-monitor/scripts/route5-status.sh`
|
||||||
|
- Additional watch scripts:
|
||||||
|
- `skills/capmetro-monitor/scripts/watch-departure.sh`
|
||||||
|
- `skills/capmetro-monitor/scripts/watch-departure-v2.sh`
|
||||||
|
- `skills/capmetro-monitor/scripts/monitor-route5.js`
|
||||||
|
|
||||||
|
## Schedule
|
||||||
|
|
||||||
|
- Recurring
|
||||||
|
- Exact active runtime schedule should be recorded here when finalized
|
||||||
|
|
||||||
|
## Expected behavior
|
||||||
|
|
||||||
|
- Checks for service changes and commute-relevant updates
|
||||||
|
- Translates transit-operator language into plain English summaries
|
||||||
|
- Supports route/status-specific helper workflows
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
Prefer GTFS-driven or documented skill behavior over ad hoc scraping where possible. If the operational entrypoint changes, update this doc.
|
||||||
34
cron/daily-overview.md
Normal file
34
cron/daily-overview.md
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# Daily Overview Reminder
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
Provide a daily operational overview that summarizes:
|
||||||
|
- open projects
|
||||||
|
- pending reminders
|
||||||
|
- yesterday summary
|
||||||
|
- behavioral rules pending review
|
||||||
|
|
||||||
|
## Trigger
|
||||||
|
|
||||||
|
- Scheduled reminder / automation
|
||||||
|
- Current reminder text requests reading `memory/behavior-rules-pending.md` before the behavioral-rules section
|
||||||
|
|
||||||
|
## Inputs
|
||||||
|
|
||||||
|
- `state/projects.json`
|
||||||
|
- reminder/runtime state if present
|
||||||
|
- `memory/YYYY-MM-DD.md`
|
||||||
|
- `memory/behavior-rules-pending.md`
|
||||||
|
|
||||||
|
## Expected behavior
|
||||||
|
|
||||||
|
- Summarize open projects
|
||||||
|
- Report pending reminders, if any
|
||||||
|
- Summarize the prior day
|
||||||
|
- Review pending behavioral rules
|
||||||
|
- Add an Approval Queue with `Approve / Reject?` per candidate rule
|
||||||
|
- If none exist, explicitly say: `No pending candidate rules.`
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
This job mixes tracked code/docs with untracked local memory/state. The implementation should rely on local runtime files without committing those files to git.
|
||||||
33
cron/github-notifications.md
Normal file
33
cron/github-notifications.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# GitHub Notifications Check
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
Review GitHub notifications for PR activity and major releases, with filtering to reduce noise.
|
||||||
|
|
||||||
|
## Entrypoint
|
||||||
|
|
||||||
|
- Skill: `skills/github-notifications/`
|
||||||
|
- Main wrapper: `skills/github-notifications/scripts/cron-wrapper.sh`
|
||||||
|
- Check script: `skills/github-notifications/scripts/check.sh`
|
||||||
|
- Optional dismissal helper: `skills/github-notifications/scripts/auto-dismiss.sh`
|
||||||
|
|
||||||
|
## Schedule
|
||||||
|
|
||||||
|
- Recurring
|
||||||
|
- Exact active schedule should be recorded here when finalized in the runtime scheduler
|
||||||
|
|
||||||
|
## Expected behavior
|
||||||
|
|
||||||
|
- Checks notification state
|
||||||
|
- Surfaces relevant PR activity
|
||||||
|
- Highlights major releases and selected dev builds
|
||||||
|
- Uses local state to avoid duplicate alerts
|
||||||
|
|
||||||
|
## State
|
||||||
|
|
||||||
|
- Local generated state file is ignored from git
|
||||||
|
- Current ignored file pattern: `skills/**/state.json`
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
If runtime behavior changes, update this file alongside the skill or wrapper changes.
|
||||||
24
cron/gmail-unread-poll.md
Normal file
24
cron/gmail-unread-poll.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Gmail Unread Poll
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
Poll unread Gmail state for triage/review workflows.
|
||||||
|
|
||||||
|
## Entrypoint
|
||||||
|
|
||||||
|
- Script: `scripts/gmail-unread-poll.sh`
|
||||||
|
|
||||||
|
## Schedule
|
||||||
|
|
||||||
|
- Recurring or ad hoc, depending on how the scheduler is configured
|
||||||
|
- Record the exact active schedule here if it becomes a standing job
|
||||||
|
|
||||||
|
## Expected behavior
|
||||||
|
|
||||||
|
- Checks unread Gmail state
|
||||||
|
- Supports lightweight inbox monitoring/triage workflows
|
||||||
|
- May feed reminder or review flows depending on runtime usage
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
Do not commit mailbox contents, auth artifacts, or generated local state.
|
||||||
70
docs/repo-conventions.md
Normal file
70
docs/repo-conventions.md
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
# Repo Conventions
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
Keep OpenClaw automation durable, reviewable, and easy to recover on another machine.
|
||||||
|
|
||||||
|
## Commit rules
|
||||||
|
|
||||||
|
Prefer small, descriptive commits.
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
- `add gmail unread poll helper`
|
||||||
|
- `document capmetro monitor workflow`
|
||||||
|
- `tighten model selector validation`
|
||||||
|
- `add cron docs for github notifications`
|
||||||
|
|
||||||
|
Avoid vague messages like:
|
||||||
|
- `updates`
|
||||||
|
- `misc fixes`
|
||||||
|
- `stuff`
|
||||||
|
|
||||||
|
## Push rules
|
||||||
|
|
||||||
|
Default pattern:
|
||||||
|
- commit locally when work reaches a coherent checkpoint
|
||||||
|
- push when the task is complete, reviewable, or worth backing up remotely
|
||||||
|
|
||||||
|
Do not auto-push every tiny edit by default.
|
||||||
|
|
||||||
|
## What belongs in git
|
||||||
|
|
||||||
|
Commit:
|
||||||
|
- reusable scripts
|
||||||
|
- custom skills
|
||||||
|
- docs/runbooks
|
||||||
|
- cron wrappers and automation definitions
|
||||||
|
- config examples and templates
|
||||||
|
|
||||||
|
Usually do not commit:
|
||||||
|
- secrets
|
||||||
|
- auth artifacts
|
||||||
|
- local caches
|
||||||
|
- volatile machine state
|
||||||
|
- private journal/memory data
|
||||||
|
- mailbox content or exports
|
||||||
|
|
||||||
|
## Sensitive-but-trackable files
|
||||||
|
|
||||||
|
These may be appropriate in a private repo, but should be treated carefully:
|
||||||
|
- `TOOLS.md`
|
||||||
|
- `USER.md`
|
||||||
|
- infrastructure notes
|
||||||
|
- internal URLs and hostnames
|
||||||
|
|
||||||
|
If the repo is ever made less private, review those first.
|
||||||
|
|
||||||
|
## Suggested maintenance loop
|
||||||
|
|
||||||
|
After meaningful work:
|
||||||
|
1. `git status`
|
||||||
|
2. review changed files
|
||||||
|
3. commit with a precise message
|
||||||
|
4. push when appropriate
|
||||||
|
|
||||||
|
## Future enhancements
|
||||||
|
|
||||||
|
Potential later upgrades:
|
||||||
|
- pre-commit checks for obvious secrets
|
||||||
|
- periodic backup tags
|
||||||
|
- release notes for major automation milestones
|
||||||
Reference in New Issue
Block a user