diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 598f4c3..f8bd2ef 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -1,5 +1,7 @@ # 🏗️ rocCLAW Architecture +> ⚠️ **Alpha Preview** — This document describes the current architecture as of v0.9.0-alpha. Details may change as the project evolves. + Technical deep-dive into how rocCLAW works under the hood. --- diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..28399d6 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,45 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [0.9.0-alpha.0] — 2026-04-06 + +### ⚠️ Alpha Preview + +> **This is early, unstable software.** Expect rough edges, breaking changes, and incomplete features. Do not use in production environments. + +### Added +- **Avatar system** — Per-agent avatar selection with auto-generated, default (12 PNG profiles), and custom modes; globally toggled from the footer +- **Fleet sidebar soul names** — Agent cards now display identity names fetched from each agent's `IDENTITY.md`, with improved card layout and sizing +- **Footer avatar mode toggle** — Quick dropdown to switch between auto/default/custom avatar sources without opening agent settings +- **`AgentCreateModal` types** — Added `AgentCreationType` union (`create` | `resume`) for clearer creation vs. resumption flows +- **`AgentSettingsMutationController`** — New React controller hook for batched, optimistic agent settings updates with conflict resolution +- **Fleet hydration derivation** — `deriveDefaultIndex` utility shared across `FooterBar`, `TasksDashboard`, and fleet tiles for consistent avatar mapping across reloads +- **`agentFleetHydration` operation** — Fetches `IDENTITY.md` per agent at hydration time; shows soul names in fleet cards +- **Gateway version display** — Client-side fetch of OpenClaw gateway version displayed in footer +- **E2E test coverage** — Settings panel test using specific heading locator; bootstrap workflow tests + +### Changed +- **Fleet tile avatars** — Increased from 80px to 96px; now fill card height with `object-cover` centering +- **Fleet card layout** — Identity name shown as muted subtitle above agent name; soul name bold/larger; agent name small and muted below +- **`identityName` field** — `agent.identity?.name` is now the single source of truth for display names across all components +- **`FooterBar` avatar toggle** — Now shows whenever agents exist (not only when an agent is running); aligned with global `AvatarModeContext` +- **`AgentAvatar` context** — Now reads `AvatarModeContext` so footer, fleet tiles, and task cards stay in sync +- **Avatar mode context** — Shared globally via `AvatarModeContext.tsx` to prevent stale state from `useEffect` localStorage reads +- **Seed hashing** — Default avatars use `seed + index` blending to ensure all agents get unique default images on each reload + +### Fixed +- **Avatar centering** — `fill` mode avatars now use `relative` positioning with `object-cover` to prevent overflow +- **Avatar sync on reload** — Agents now get consistent (but distinct) default avatar images even after page reload +- **Identity name priority** — Fixed priority chain: `agent.identity?.name` → `agent.identityName` → derived from identity file +- **Footer default avatar** — Footer avatar in default mode now uses shared `deriveDefaultIndex` for correct index calculation +- **Lint errors** — Fixed `setState-in-effect` lint errors and resolved all remaining lint issues + +### Infrastructure +- GitHub Actions CI pipeline for automated testing on push/PR +- Playwright E2E test suite with maximized browser window support +- Vitest unit test suite +- ESLint + TypeScript strict type checking diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 80754ee..de58daa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,5 +1,7 @@ # 🤝 Contributing to rocCLAW +> ⚠️ **Alpha Preview** — Contribution guidelines are a starting point. As the project matures, these will evolve. Please ask in Discussions before investing time in large contributions. + Thank you for your interest in making rocCLAW better! This guide will help you get set up and contribute effectively. --- diff --git a/README.md b/README.md index 4711dee..da103aa 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,15 @@
-# 🎛️ rocCLAW +# ⚠️ rocCLAW — Alpha Preview -**Your focused operator rocclaw for OpenClaw** +> **This is early, unstable software (v0.9.0-alpha).** Expect rough edges, breaking changes, and incomplete features. Do not use in production environments. Feedback welcome! + +**Your focused operator studio for OpenClaw AI agents**

Discord Node.js - GitHub Release + GitHub Release License

@@ -121,6 +123,7 @@ npm run dev | Guide | What you'll learn | |-------|-------------------| +| [📋 Changelog](CHANGELOG.md) | Release history and what's new | | [📚 Setup & Configuration](README.md#setup-guides) | Detailed installation for different scenarios | | [🖥️ UI Guide](docs/ui-guide.md) | How to use each feature in the interface | | [🔐 Permissions & Sandboxing](docs/permissions-sandboxing.md) | Security settings explained | diff --git a/docs/permissions-sandboxing.md b/docs/permissions-sandboxing.md index 5826edc..c53a9ab 100644 --- a/docs/permissions-sandboxing.md +++ b/docs/permissions-sandboxing.md @@ -1,5 +1,7 @@ # 🔐 Permissions & Sandboxing Guide +> ⚠️ **Alpha Preview** — Security model is under active development as of v0.9.0-alpha. + Understanding how rocCLAW configures security and how the OpenClaw gateway enforces it. --- diff --git a/docs/pi-chat-streaming.md b/docs/pi-chat-streaming.md index 5c98c58..b73b4eb 100644 --- a/docs/pi-chat-streaming.md +++ b/docs/pi-chat-streaming.md @@ -1,5 +1,7 @@ # 💬 Chat Streaming +> ⚠️ **Alpha Preview** — This document describes the chat architecture as of v0.9.0-alpha. Implementation details may evolve. + Understanding how real-time chat events flow from the OpenClaw gateway to your browser. --- diff --git a/docs/ui-guide.md b/docs/ui-guide.md index 94e9931..dd694ae 100644 --- a/docs/ui-guide.md +++ b/docs/ui-guide.md @@ -1,5 +1,7 @@ # 🖥️ rocCLAW UI Guide +> ⚠️ **Alpha Preview** — This guide reflects v0.9.0-alpha. UI elements and behavior may change between releases. + Complete walkthrough of the rocCLAW interface — what every button does and how to use it effectively. --- diff --git a/package.json b/package.json index 78025ab..fca2bc6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@simoncatbot/rocclaw", - "version": "0.1.0", - "description": "Focused operator studio for OpenClaw - Web dashboard for AI agent management", + "version": "0.9.0-alpha.0", + "description": "⚠️ ALPHA PREVIEW — Focused operator studio for OpenClaw AI agents. This is early software — expect rough edges.", "main": "server/index.js", "bin": { "rocclaw": "./server/index.js" @@ -19,7 +19,9 @@ "agent", "dashboard", "chat", - "nextjs" + "nextjs", + "alpha", + "operator-studio" ], "author": "SimonCatBot", "license": "MIT",