Skip to content
Merged
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .github/assets/clawdstrike-hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ updates:
- "dependencies"
- "rust"

# npm dependencies (@hushclaw/openclaw plugin)
# npm dependencies (@clawdstrike/openclaw plugin)
- package-ecosystem: "npm"
directory: "/packages/hushclaw-openclaw"
directory: "/packages/clawdstrike-openclaw"
schedule:
interval: "weekly"
day: "monday"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ jobs:
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/hushclaw-openclaw
working-directory: packages/clawdstrike-openclaw
steps:
- uses: actions/checkout@v4

Expand All @@ -322,7 +322,7 @@ jobs:
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: packages/hushclaw-openclaw/package-lock.json
cache-dependency-path: packages/clawdstrike-openclaw/package-lock.json

- name: Install dependencies
run: npm ci
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Hushclaw Documentation Deployment
# Clawdstrike Documentation Deployment
#
# Builds and deploys the mdBook documentation site to GitHub Pages.
#
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ jobs:
- name: Wait for crates.io index update
run: sleep 30

- name: Publish hushclaw
run: cargo publish -p hushclaw --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
- name: Publish clawdstrike
run: cargo publish -p clawdstrike --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

Expand All @@ -81,21 +81,21 @@ jobs:
node-version: '20'
registry-url: 'https://registry.npmjs.org'

- name: Build @hushclaw/openclaw
working-directory: packages/hushclaw-openclaw
- name: Build @clawdstrike/openclaw
working-directory: packages/clawdstrike-openclaw
run: |
npm ci
npm run build

- name: Publish @hushclaw/openclaw
working-directory: packages/hushclaw-openclaw
- name: Publish @clawdstrike/openclaw
working-directory: packages/clawdstrike-openclaw
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

# Publish @hushclaw/sdk to npm
# Publish @clawdstrike/sdk to npm
publish-hush-ts:
name: Publish @hushclaw/sdk to npm
name: Publish @clawdstrike/sdk to npm
runs-on: ubuntu-latest
needs: preflight
steps:
Expand Down Expand Up @@ -126,7 +126,7 @@ jobs:

# Publish WASM package to npm
publish-wasm:
name: Publish @hushclaw/wasm to npm
name: Publish @clawdstrike/wasm to npm
runs-on: ubuntu-latest
needs: [preflight]
steps:
Expand Down Expand Up @@ -313,7 +313,7 @@ jobs:
id: sha
run: |
VERSION=${GITHUB_REF#refs/tags/v}
URL="https://github.com/hushclaw/hushclaw/archive/refs/tags/v${VERSION}.tar.gz"
URL="https://github.com/backbay-labs/clawdstrike/archive/refs/tags/v${VERSION}.tar.gz"
echo "Downloading from: $URL"
SHA=$(curl -sL "$URL" | shasum -a 256 | cut -d' ' -f1)
echo "sha256=$SHA" >> $GITHUB_OUTPUT
Expand All @@ -323,7 +323,7 @@ jobs:
- name: Update formula
run: |
# Update URL with new version
sed -i 's|url "https://github.com/hushclaw/hushclaw/archive/refs/tags/v[^"]*"|url "https://github.com/hushclaw/hushclaw/archive/refs/tags/v${{ steps.sha.outputs.version }}.tar.gz"|' HomebrewFormula/hush.rb
sed -i 's|url "https://github.com/backbay-labs/clawdstrike/archive/refs/tags/v[^"]*"|url "https://github.com/backbay-labs/clawdstrike/archive/refs/tags/v${{ steps.sha.outputs.version }}.tar.gz"|' HomebrewFormula/hush.rb
# Update SHA256
sed -i 's|sha256 "[^"]*"|sha256 "${{ steps.sha.outputs.sha256 }}"|' HomebrewFormula/hush.rb

Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ docs/book
# Node.js
**/node_modules/

# Python
**/__pycache__/
*.pyc
.pytest_cache/

# RustRover
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
Expand Down
12 changes: 6 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Signed receipt creation with UUID, timestamps, and metadata
- Receipt verification with signer and optional cosigner

#### Security Guards (`hushclaw`)
#### Security Guards (`clawdstrike`)

- **ForbiddenPathGuard**: Block access to sensitive paths with glob patterns and exceptions
- **EgressAllowlistGuard**: Control network egress via domain allowlist/blocklist with wildcards
Expand Down Expand Up @@ -57,7 +57,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Health check and status endpoints
- CORS and request tracing middleware

#### WebAssembly Bindings (`@hushclaw/wasm`)
#### WebAssembly Bindings (`@clawdstrike/wasm`)

- Browser and Node.js compatible WASM module
- `hash_sha256` / `hash_sha256_prefixed` - SHA-256 hashing
Expand All @@ -77,7 +77,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Ed25519 receipt signing and verification
- Optional native bindings via PyO3 (`hush-native`)

#### OpenClaw Integration (`@hushclaw/openclaw`)
#### OpenClaw Integration (`@clawdstrike/openclaw`)

- TypeScript plugin for OpenClaw agent framework
- CLI tool for policy checking in agent workflows
Expand All @@ -86,9 +86,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

#### Distribution

- Homebrew formula (`brew install hushclaw/tap/hush`)
- Homebrew formula (`brew install clawdstrike/tap/hush`)
- Docker image for `hushd` daemon
- npm package `@hushclaw/wasm` for web verification
- npm package `@clawdstrike/wasm` for web verification
- PyPI package `hush` for Python integration

#### Documentation
Expand All @@ -107,4 +107,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Release builds with LTO and single codegen unit
- Dependabot configured for automated security updates

[0.1.0]: https://github.com/hushclaw/hushclaw/releases/tag/v0.1.0
[0.1.0]: https://github.com/backbay-labs/clawdstrike/releases/tag/v0.1.0
26 changes: 13 additions & 13 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to Hushclaw
# Contributing to Clawdstrike

Thank you for your interest in contributing to Hushclaw! This document provides guidelines and instructions for contributing.
Thank you for your interest in contributing to Clawdstrike! This document provides guidelines and instructions for contributing.

## Code of Conduct

Expand All @@ -15,21 +15,21 @@ This project follows the [Rust Code of Conduct](https://www.rust-lang.org/polici
- **Git**

Optional for specific packages:
- **Node.js 20+** for `@hushclaw/openclaw`
- **Node.js 20+** for `@clawdstrike/openclaw`
- **Python 3.11+** for `hush-py`
- **wasm-pack** for `@hushclaw/wasm`
- **wasm-pack** for `@clawdstrike/wasm`

### Fork and Clone

1. Fork the repository on GitHub
2. Clone your fork:
```bash
git clone https://github.com/YOUR_USERNAME/hushclaw.git
cd hushclaw
git clone https://github.com/YOUR_USERNAME/clawdstrike.git
cd clawdstrike
```
3. Add upstream remote:
```bash
git remote add upstream https://github.com/hushclaw/hushclaw.git
git remote add upstream https://github.com/backbay-labs/clawdstrike.git
```

### Development Setup
Expand Down Expand Up @@ -106,7 +106,7 @@ cargo test

# Run specific crate tests
cargo test -p hush-core
cargo test -p hushclaw
cargo test -p clawdstrike

# Run with verbose output
cargo test -- --nocapture
Expand Down Expand Up @@ -163,25 +163,25 @@ proptest! {
## Architecture Overview

```
hushclaw/
clawdstrike/
├── crates/
│ ├── hush-core/ # Cryptographic primitives
│ ├── hush-proxy/ # Network proxy utilities
│ ├── hushclaw/ # Guard implementations and policy engine
│ ├── clawdstrike/ # Guard implementations and policy engine
│ ├── hush-cli/ # CLI binary
│ ├── hushd/ # Security daemon
│ └── hush-wasm/ # WebAssembly bindings
├── packages/
│ ├── hush-py/ # Python SDK
│ └── hushclaw-openclaw/ # OpenClaw integration
│ └── clawdstrike-openclaw/ # OpenClaw integration
├── rulesets/ # Pre-configured security policies
├── docs/ # mdBook documentation
└── examples/ # Usage examples
```

### Key Abstractions

- **Guard**: A security check (trait `Guard` in `hushclaw`)
- **Guard**: A security check (trait `Guard` in `clawdstrike`)
- **Policy**: Configuration for guards (YAML-based)
- **Receipt**: Cryptographically signed execution attestation
- **HushEngine**: Facade orchestrating guards and signing
Expand Down Expand Up @@ -214,7 +214,7 @@ By contributing, you agree that your contributions will be licensed under the MI

## Questions?

- Open a [GitHub Discussion](https://github.com/hushclaw/hushclaw/discussions) for questions
- Open a [GitHub Discussion](https://github.com/backbay-labs/clawdstrike/discussions) for questions
- Join our community chat (coming soon)

Thank you for contributing!
50 changes: 25 additions & 25 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ resolver = "2"
members = [
"crates/hush-core",
"crates/hush-proxy",
"crates/hushclaw",
"crates/clawdstrike",
"crates/hush-cli",
"crates/hushd",
"crates/hush-wasm",
Expand All @@ -15,7 +15,7 @@ exclude = ["fuzz", "examples/rust/basic-verification"]
version = "0.1.0"
edition = "2021"
license = "MIT"
repository = "https://github.com/hushclaw/hushclaw"
repository = "https://github.com/backbay-labs/clawdstrike"
rust-version = "1.75"

[workspace.dependencies]
Expand Down Expand Up @@ -85,7 +85,7 @@ reqwest = { version = "0.12", default-features = false, features = ["json", "rus
# Internal crates
hush-core = { path = "crates/hush-core", version = "0.1.0" }
hush-proxy = { path = "crates/hush-proxy", version = "0.1.0" }
hushclaw = { path = "crates/hushclaw", version = "0.1.0" }
clawdstrike = { path = "crates/clawdstrike", version = "0.1.0" }

[profile.release]
lto = true
Expand Down
12 changes: 6 additions & 6 deletions HomebrewFormula/hush.rb
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# Homebrew formula for hush CLI
# Install: brew install hushclaw/tap/hush
# Install: brew install clawdstrike/tap/hush
# Or from local: brew install --build-from-source ./HomebrewFormula/hush.rb
#
# SHA256 is automatically updated by the release workflow.
# To calculate SHA256 manually:
# curl -sL https://github.com/hushclaw/hushclaw/archive/refs/tags/vX.Y.Z.tar.gz | shasum -a 256
# curl -sL https://github.com/backbay-labs/clawdstrike/archive/refs/tags/vX.Y.Z.tar.gz | shasum -a 256

class Hush < Formula
desc "CLI for hushclaw security verification and policy enforcement"
homepage "https://github.com/hushclaw/hushclaw"
url "https://github.com/hushclaw/hushclaw/archive/refs/tags/v0.1.0.tar.gz"
desc "CLI for clawdstrike security verification and policy enforcement"
homepage "https://github.com/backbay-labs/clawdstrike"
url "https://github.com/backbay-labs/clawdstrike/archive/refs/tags/v0.1.0.tar.gz"
sha256 "PLACEHOLDER_SHA256_WILL_BE_UPDATED_ON_RELEASE"
license "MIT"
head "https://github.com/hushclaw/hushclaw.git", branch: "main"
head "https://github.com/backbay-labs/clawdstrike.git", branch: "main"

depends_on "rust" => :build

Expand Down
Loading
Loading