Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
14 changes: 7 additions & 7 deletions .agent/workflows/update_clawdbot.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
description: Update OpenClaw from upstream when branch has diverged (ahead/behind)
description: Update Klawty from upstream when branch has diverged (ahead/behind)
---

# OpenClaw Upstream Sync Workflow
# Klawty Upstream Sync Workflow

Use this workflow when your fork has diverged from upstream (e.g., "18 commits ahead, 29 commits behind").

Expand Down Expand Up @@ -132,16 +132,16 @@ pnpm mac:package

```bash
# Kill running app
pkill -x "OpenClaw" || true
pkill -x "Klawty" || true

# Move old version
mv /Applications/OpenClaw.app /tmp/OpenClaw-backup.app
mv /Applications/Klawty.app /tmp/Klawty-backup.app

# Install new build
cp -R dist/OpenClaw.app /Applications/
cp -R dist/Klawty.app /Applications/

# Launch
open /Applications/OpenClaw.app
open /Applications/Klawty.app
```

---
Expand Down Expand Up @@ -235,7 +235,7 @@ If upstream introduced new model configurations:
# Check for OpenRouter API key requirements
grep -r "openrouter\|OPENROUTER" src/ --include="*.ts" --include="*.js"

# Update openclaw.json with fallback chains
# Update klawty.json with fallback chains
# Add model fallback configurations as needed
```

Expand Down
2 changes: 1 addition & 1 deletion .agents/maintainers.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Maintainer skills now live in [`openclaw/maintainers`](https://github.com/openclaw/maintainers/).
Maintainer skills now live in [`klawty/maintainers`](https://github.com/klawty/maintainers/).
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
name: openclaw-ghsa-maintainer
description: Maintainer workflow for OpenClaw GitHub Security Advisories (GHSA). Use when Codex needs to inspect, patch, validate, or publish a repo advisory, verify private-fork state, prepare advisory Markdown or JSON payloads safely, handle GHSA API-specific publish constraints, or confirm advisory publish success.
name: klawty-ghsa-maintainer
description: Maintainer workflow for Klawty GitHub Security Advisories (GHSA). Use when Codex needs to inspect, patch, validate, or publish a repo advisory, verify private-fork state, prepare advisory Markdown or JSON payloads safely, handle GHSA API-specific publish constraints, or confirm advisory publish success.
---

# OpenClaw GHSA Maintainer
# Klawty GHSA Maintainer

Use this skill for repo security advisory workflow only. Keep general release work in `openclaw-release-maintainer`.
Use this skill for repo security advisory workflow only. Keep general release work in `klawty-release-maintainer`.

## Respect advisory guardrails

Expand All @@ -18,8 +18,8 @@ Use this skill for repo security advisory workflow only. Keep general release wo
Fetch the current advisory and the latest published npm version:

```bash
gh api /repos/openclaw/openclaw/security-advisories/<GHSA>
npm view openclaw version --userconfig "$(mktemp)"
gh api /repos/klawty/klawty/security-advisories/<GHSA>
npm view klawty version --userconfig "$(mktemp)"
```

Use the fetch output to confirm the advisory state, linked private fork, and vulnerability payload shape before patching.
Expand All @@ -29,7 +29,7 @@ Use the fetch output to confirm the advisory state, linked private fork, and vul
Before publishing, verify that the advisory's private fork has no open PRs:

```bash
fork=$(gh api /repos/openclaw/openclaw/security-advisories/<GHSA> | jq -r .private_fork.full_name)
fork=$(gh api /repos/klawty/klawty/security-advisories/<GHSA> | jq -r .private_fork.full_name)
gh pr list -R "$fork" --state open
```

Expand Down Expand Up @@ -61,7 +61,7 @@ jq -n --rawfile desc /tmp/ghsa.desc.md \
Example shape:

```bash
gh api -X PATCH /repos/openclaw/openclaw/security-advisories/<GHSA> \
gh api -X PATCH /repos/klawty/klawty/security-advisories/<GHSA> \
--input /tmp/ghsa.patch.json
```

Expand All @@ -76,7 +76,7 @@ After publish, re-fetch the advisory and confirm:
Verification pattern:

```bash
gh api /repos/openclaw/openclaw/security-advisories/<GHSA>
gh api /repos/klawty/klawty/security-advisories/<GHSA>
jq -r .description < /tmp/ghsa.refetch.json | rg '\\\\n'
```

Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
---
name: openclaw-parallels-smoke
description: End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.
name: klawty-parallels-smoke
description: End-to-end Parallels smoke, upgrade, and rerun workflow for Klawty across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.
---

# OpenClaw Parallels Smoke
# Klawty Parallels Smoke

Use this skill for Parallels guest workflows and smoke interpretation. Do not load it for normal repo work.

## Global rules

- Use the snapshot most closely matching the requested fresh baseline.
- Gateway verification in smoke runs should use `openclaw gateway status --deep --require-rpc` unless the stable version being checked does not support it yet.
- Gateway verification in smoke runs should use `klawty gateway status --deep --require-rpc` unless the stable version being checked does not support it yet.
- Stable `2026.3.12` pre-upgrade diagnostics may require a plain `gateway status --deep` fallback.
- Treat `precheck=latest-ref-fail` on that stable pre-upgrade lane as baseline, not automatically a regression.
- Pass `--json` for machine-readable summaries.
- Per-phase logs land under `/tmp/openclaw-parallels-*`.
- Per-phase logs land under `/tmp/klawty-parallels-*`.
- Do not run local and gateway agent turns in parallel on the same fresh workspace or session.

## macOS flow
Expand All @@ -29,9 +29,9 @@ Use this skill for Parallels guest workflows and smoke interpretation. Do not lo
## Windows flow

- Preferred entrypoint: `pnpm test:parallels:windows`
- Use the snapshot closest to `pre-openclaw-native-e2e-2026-03-12`.
- Use the snapshot closest to `pre-klawty-native-e2e-2026-03-12`.
- Always use `prlctl exec --current-user`; plain `prlctl exec` lands in `NT AUTHORITY\\SYSTEM`.
- Prefer explicit `npm.cmd` and `openclaw.cmd`.
- Prefer explicit `npm.cmd` and `klawty.cmd`.
- Use PowerShell only as the transport with `-ExecutionPolicy Bypass`, then call the `.cmd` shims from inside it.
- Keep onboarding and status output ASCII-clean in logs; fancy punctuation becomes mojibake in current capture paths.

Expand All @@ -52,7 +52,7 @@ Use this skill for Parallels guest workflows and smoke interpretation. Do not lo
- `--discord-guild-id`
- `--discord-channel-id`
- Keep the Discord token only in a host env var.
- Use installed `openclaw message send/read`, not `node openclaw.mjs message ...`.
- Use installed `klawty message send/read`, not `node klawty.mjs message ...`.
- Set `channels.discord.guilds` as one JSON object, not dotted config paths with snowflakes.
- Avoid long `prlctl enter` or expect-driven Discord config scripts; prefer `prlctl exec --current-user /bin/sh -lc ...` with short commands.
- For a narrower macOS-only Discord proof run, the existing `parallels-discord-roundtrip` skill is the deep-dive companion.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
name: openclaw-pr-maintainer
description: Maintainer workflow for reviewing, triaging, preparing, closing, or landing OpenClaw pull requests and related issues. Use when Codex needs to validate bug-fix claims, search for related issues or PRs, apply or recommend close/reason labels, prepare GitHub comments safely, check review-thread follow-up, or perform maintainer-style PR decision making before merge or closure.
name: klawty-pr-maintainer
description: Maintainer workflow for reviewing, triaging, preparing, closing, or landing Klawty pull requests and related issues. Use when Codex needs to validate bug-fix claims, search for related issues or PRs, apply or recommend close/reason labels, prepare GitHub comments safely, check review-thread follow-up, or perform maintainer-style PR decision making before merge or closure.
---

# OpenClaw PR Maintainer
# Klawty PR Maintainer

Use this skill for maintainer-facing GitHub workflow, not for ordinary code changes.

Expand Down Expand Up @@ -45,16 +45,16 @@ Use this skill for maintainer-facing GitHub workflow, not for ordinary code chan
## Search broadly before deciding

- Prefer targeted keyword search before proposing new work or closing something as duplicate.
- Use `--repo openclaw/openclaw` with `--match title,body` first.
- Use `--repo klawty/klawty` with `--match title,body` first.
- Add `--match comments` when triaging follow-up discussion.
- Do not stop at the first 500 results when the task requires a full search.

Examples:

```bash
gh search prs --repo openclaw/openclaw --match title,body --limit 50 -- "auto-update"
gh search issues --repo openclaw/openclaw --match title,body --limit 50 -- "auto-update"
gh search issues --repo openclaw/openclaw --match title,body --limit 50 \
gh search prs --repo klawty/klawty --match title,body --limit 50 -- "auto-update"
gh search issues --repo klawty/klawty --match title,body --limit 50 -- "auto-update"
gh search issues --repo klawty/klawty --match title,body --limit 50 \
--json number,title,state,url,updatedAt -- "auto update" \
--jq '.[] | "\(.number) | \(.state) | \(.title) | \(.url)"'
```
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
name: openclaw-release-maintainer
description: Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
name: klawty-release-maintainer
description: Maintainer workflow for Klawty releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
---

# OpenClaw Release Maintainer
# Klawty Release Maintainer

Use this skill for release and publish-time workflow. Keep ordinary development changes and GHSA-specific advisory work outside this skill.

Expand All @@ -28,7 +28,7 @@ Use this skill for release and publish-time workflow. Keep ordinary development
- `apps/android/app/build.gradle.kts`
- `apps/ios/Sources/Info.plist`
- `apps/ios/Tests/Info.plist`
- `apps/macos/Sources/OpenClaw/Resources/Info.plist`
- `apps/macos/Sources/Klawty/Resources/Info.plist`
- `docs/install/updating.md`
- Peekaboo Xcode project and plist version fields
- “Bump version everywhere” means all version locations above except `appcast.xml`.
Expand All @@ -39,7 +39,7 @@ Use this skill for release and publish-time workflow. Keep ordinary development
- Changelog entries should be user-facing, not internal release-process notes.
- When cutting a mac release with a beta GitHub prerelease:
- tag `vYYYY.M.D-beta.N` from the release commit
- create a prerelease titled `openclaw YYYY.M.D-beta.N`
- create a prerelease titled `klawty YYYY.M.D-beta.N`
- use release notes from the matching `CHANGELOG.md` version section
- attach at least the zip and dSYM zip, plus dmg if available
- Keep the top version entries in `CHANGELOG.md` sorted by impact:
Expand All @@ -59,16 +59,16 @@ pnpm test:install:smoke
For a non-root smoke path:

```bash
OPENCLAW_INSTALL_SMOKE_SKIP_NONROOT=1 pnpm test:install:smoke
KLAWTY_INSTALL_SMOKE_SKIP_NONROOT=1 pnpm test:install:smoke
```

## Use the right auth flow

- Core `openclaw` publish uses GitHub trusted publishing.
- Core `klawty` publish uses GitHub trusted publishing.
- Do not use `NPM_TOKEN` or the plugin OTP flow for core releases.
- `@openclaw/*` plugin publishes use a separate maintainer-only flow.
- `@klawty/*` plugin publishes use a separate maintainer-only flow.
- Only publish plugins that already exist on npm; bundled disk-tree-only plugins stay unpublished.

## GHSA advisory work

- Use `openclaw-ghsa-maintainer` for GHSA advisory inspection, patch/publish flow, private-fork validation, and GHSA API-specific publish checks.
- Use `klawty-ghsa-maintainer` for GHSA advisory inspection, patch/publish flow, private-fork validation, and GHSA API-specific publish checks.
12 changes: 6 additions & 6 deletions .agents/skills/parallels-discord-roundtrip/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ Cover:
## Preferred run

```bash
export OPENCLAW_PARALLELS_DISCORD_TOKEN="$(
ssh peters-mac-studio-1 'jq -r ".channels.discord.token" ~/.openclaw/openclaw.json' | tr -d '\n'
export KLAWTY_PARALLELS_DISCORD_TOKEN="$(
ssh peters-mac-studio-1 'jq -r ".channels.discord.token" ~/.klawty/klawty.json' | tr -d '\n'
)"

pnpm test:parallels:macos \
--discord-token-env OPENCLAW_PARALLELS_DISCORD_TOKEN \
--discord-token-env KLAWTY_PARALLELS_DISCORD_TOKEN \
--discord-guild-id 1456350064065904867 \
--discord-channel-id 1456744319972282449 \
--json
Expand All @@ -45,12 +45,12 @@ pnpm test:parallels:macos \
- Snapshot resolver now prefers matching `*-poweroff*` clones when the base hint also matches. That lets the harness reuse disk-only recovery snapshots without passing a longer hint.
- If Windows/Linux snapshot restore logs show `PET_QUESTION_SNAPSHOT_STATE_INCOMPATIBLE_CPU`, drop the suspended state once, create a `*-poweroff*` replacement snapshot, and rerun. The smoke scripts now auto-start restored power-off snapshots.
- Harness configures Discord inside the guest; no checked-in token/config.
- Use the `openclaw` wrapper for guest `message send/read`; `node openclaw.mjs message ...` does not expose the lazy message subcommands the same way.
- Use the `klawty` wrapper for guest `message send/read`; `node klawty.mjs message ...` does not expose the lazy message subcommands the same way.
- Write `channels.discord.guilds` in one JSON object (`--strict-json`), not dotted `config set channels.discord.guilds.<snowflake>...` paths; numeric snowflakes get treated like array indexes.
- Avoid `prlctl enter` / expect for long Discord setup scripts; it line-wraps/corrupts long commands. Use `prlctl exec --current-user /bin/sh -lc ...` for the Discord config phase.
- Full 3-OS sweeps: the shared build lock is safe in parallel, but snapshot restore is still a Parallels bottleneck. Prefer serialized Windows/Linux restore-heavy reruns if the host is already under load.
- Harness cleanup deletes the temporary Discord smoke messages at exit.
- Per-phase logs: `/tmp/openclaw-parallels-smoke.*`
- Per-phase logs: `/tmp/klawty-parallels-smoke.*`
- Machine summary: pass `--json`
- If roundtrip flakes, inspect `fresh.discord-roundtrip.log` and `discord-last-readback.json` in the run dir first.

Expand All @@ -59,4 +59,4 @@ pnpm test:parallels:macos \
- fresh lane or upgrade lane requested passes
- summary reports `discord=pass` for that lane
- guest outbound nonce appears in channel history
- host inbound nonce appears in `openclaw message read` output
- host inbound nonce appears in `klawty message read` output
14 changes: 7 additions & 7 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ body:
label: Steps to reproduce
description: Provide the shortest deterministic repro path supported by direct observation. If the repro path cannot be grounded from the evidence, respond with exactly `NOT_ENOUGH_INFO`.
placeholder: |
1. Start OpenClaw 2026.2.17 with the attached config.
1. Start Klawty 2026.2.17 with the attached config.
2. Send a Telegram thread reply in the affected chat.
3. Observe no reply and confirm the attached `reply target not found` log line.
validations:
Expand All @@ -58,7 +58,7 @@ body:
- type: input
id: version
attributes:
label: OpenClaw version
label: Klawty version
description: Exact version/build tested.
placeholder: <version such as 2026.2.17>
validations:
Expand All @@ -75,7 +75,7 @@ body:
id: install_method
attributes:
label: Install method
description: How OpenClaw was installed or launched.
description: How Klawty was installed or launched.
placeholder: npm global / pnpm dev / docker / mac app
- type: input
id: model
Expand All @@ -90,7 +90,7 @@ body:
attributes:
label: Provider / routing chain
description: Effective request path through gateways, proxies, providers, or model routers.
placeholder: openclaw -> cloudflare-ai-gateway -> minimax
placeholder: klawty -> cloudflare-ai-gateway -> minimax
validations:
required: true
- type: textarea
Expand All @@ -99,9 +99,9 @@ body:
label: Additional provider/model setup details
description: Optional. Include redacted routing details, per-agent overrides, auth-profile interactions, env/config context, or anything else needed to explain the effective provider/model setup. Do not include API keys, tokens, or passwords.
placeholder: |
Default route is openclaw -> cloudflare-ai-gateway -> minimax.
Previous setup was openclaw -> cloudflare-ai-gateway -> openrouter -> minimax.
Relevant config lives in ~/.openclaw/openclaw.json under models.providers.minimax and models.providers.cloudflare-ai-gateway.
Default route is klawty -> cloudflare-ai-gateway -> minimax.
Previous setup was klawty -> cloudflare-ai-gateway -> openrouter -> minimax.
Relevant config lives in ~/.klawty/klawty.json under models.providers.minimax and models.providers.cloudflare-ai-gateway.
- type: textarea
id: logs
attributes:
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ blank_issues_enabled: false
contact_links:
- name: Onboarding
url: https://discord.gg/clawd
about: "New to OpenClaw? Join Discord for setup guidance in #help."
about: "New to Klawty? Join Discord for setup guidance in #help."
- name: Support
url: https://discord.gg/clawd
about: "Get help from the OpenClaw community on Discord in #help."
about: "Get help from the Klawty community on Discord in #help."
2 changes: 1 addition & 1 deletion .github/codeql/codeql-javascript-typescript.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: openclaw-codeql-javascript-typescript
name: klawty-codeql-javascript-typescript

paths:
- src
Expand Down
4 changes: 2 additions & 2 deletions .github/instructions/copilot.instructions.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# OpenClaw Codebase Patterns
# Klawty Codebase Patterns

**Always reuse existing code - no redundancy!**

Expand Down Expand Up @@ -55,7 +55,7 @@
## Stack & Commands

- **Package manager**: pnpm (`pnpm install`)
- **Dev**: `pnpm openclaw ...` or `pnpm dev`
- **Dev**: `pnpm klawty ...` or `pnpm dev`
- **Type-check**: `pnpm tsgo`
- **Lint/format**: `pnpm check`
- **Tests**: `pnpm test`
Expand Down
Loading
Loading