47 commits from the align branch merged onto the force-updated remote base (which had replayed an earlier snapshot of the same work plus new overlay/pointer features and CI fixes). Conflict resolution: kept the newer align side for the generation pipeline (orchestrator, mcp, skills, design tools), kept the base side for the chat-panel test semantics and graceful overlay teardown, fused both in sub_agent_session (design-turn thinking policy + graceful epoch finish), and dropped the files each side had deleted (legacy concurrent/dashboard paths, retired TS skills). Deduped two identical replayed hunks (export.rs, chat_session_tests.rs). Known issue carried over: provider_probe_host::landed_connected_outcome_ without_models_is_failure fails on a host with a live provider config (env-sensitive test, both sides byte-identical there; green on CI).
1.8 KiB
1.8 KiB
AGENTS.md
This file provides guidance to Codex when working with code in this repository.
The TypeScript OpenPencil has been retired.
apps/web,apps/desktop,apps/cli, and thepen-*packages are gone. The product is Rust (crates/) + a wasm-backed web SDK (packages/op-web-sdk*). See git history (last TS tagv0.7.5) for the retired code.
For full guidance see CLAUDE.md (this directory). Authoritative Rust architecture lives in crates/CLAUDE.md; remaining packages in packages/CLAUDE.md.
Commands
Tooling is Cargo (Rust — the product). The root has no package.json; the JS/Bun tooling for the web SDK lives under packages/ — run SDK/JS scripts from there.
- Web dev server (Rust):
bash scripts/start-web-rust.sh - Build (Rust):
cargo build --workspace --release - Tests (Rust):
cargo test --workspace; single crate:cargo test -p <crate> - Type check:
cargo check --workspace; wasm:cargo check --target wasm32-unknown-unknown -p op-host-web --no-default-features --features web - Lint / format (Rust):
cargo clippy --workspace --all-targets -- -D warnings/cargo fmt --all - Lint / format (TS SDK): from
packages/:bun run lint(oxlint) /bun run format(oxfmt) - Desktop app:
cargo build -p op-host-desktop→ binaryopenpencil-desktop - CLI:
cargo build -p op-cli→ binaryop - Iconify catalog (Rust assets): from
packages/:bun run generate-iconify-catalog
Conventions
- Single files ≤ 800 lines; one component/widget per file.
.rssnake_case,.ts/.tsxkebab-case; source comments in English.- Conventional Commits:
<type>(<scope>): <subject>— scopes:editor,canvas,panels,ai,codegen,variables,figma,mcp,desktop,web,renderer,sdk,cli,agent,i18n.