siclaw
scitix/siclaw/AGENTS.md
This file is the project-level Codex guide for siclawdpcleanup. Keep it limited to stable Siclaw facts and constraints. General collaboration style belongs in ~/.codex/AGENTS.md; CLAUDE.md is the larger legacy reference when deeper background is needed. Siclaw is an AI-powered SRE copilot for Kubernetes diagnostics. One agent core supports three runtime shapes: - Preserve user changes and unrelated dirty work. - For security, tool execution, database, Portal snapshot, guards, memory, Docker, Helm, or K8s behavior, read the nearby code plus relevant…
AGENTS.md236 starsChanged 4 months ago
# Siclaw Project Instructions This file is the project-level Codex guide for `siclaw_dp_cleanup`. Keep it limited to stable Siclaw facts and constraints. General collaboration style belongs in `~/.codex/AGENTS.md`; `CLAUDE.md` is the larger legacy reference when deeper background is needed. ## Project Shape Siclaw is an AI-powered SRE copilot for Kubernetes diagnostics. One agent core supports three runtime shapes: ```text Headless CLI: non-interactive diagnostic invocation, optionally paired with local Portal Gateway + LocalSpawner: local multi-user dev, one process/shared filesystem Gateway + K8sSpawner: production, one isolated pod per user ``` ## Before Risky Edits - Preserve user changes and unrelated dirty work. - For security, tool execution, database, Portal snapshot, guards, memory, Docker, Helm, or K8s behavior, read the nearby code plus relevant `docs/design/*` or `CLAUDE.md` before editing. - Ask before editing `src/core/prompt.ts`; it affects core agent behavior and product tone. - Do not add production dependencies unless explicitly requested. ## Verification Use targeted checks first, then broaden when touching shared behavior: ```bash npm test npx tsc --noEmit npm run build ``` Broaden verification for database schema, tool execution, guards, Portal snapshot, K8s/Docker/Helm, or user-facing workflows. ## Stable Boundaries - `LocalSpawner` runs all local AgentBox instances in one process with a shared filesystem. Local skill sync must stay user-scoped and must not wipe shared skill directories such as global/skillset/user trees. - Core skills are baked into the Docker image. Workspace skill bundles should include only selected global/dev/personal skills. - Headless CLI uses local Portal as a read-only snapshot source. Unscoped invocations tolerate unavailable snapshot access; a selected agent must load successfully. Snapshot caches are private to each invocation, including empty resource sets, and cleanup must never touch another invocation. - Shell execution security is layered: OS-level isolation first, whitelist-only command validation second, plus pre/post execution sanitization. - Portal/Gateway DB and Memory DB are separate persistence domains. Do not mix user/session config with embedding/chunk/investigation storage. - AgentBox and Runtime are separate processes in K8s mode. Code under `src/agentbox/**` must not import Gateway or Portal persistence modules such as `src/gateway/chat-repo.ts`; LocalSpawner's shared process can hide this. AgentBox background work should call Runtime internal APIs through `GatewayClient`, with Runtime owning Portal RPC and database persistence. - `src/portal/migrate.ts` must stay compatible with both MySQL and SQLite. - mTLS is for K8s mode only; do not pull mTLS requirements into local mode. ## Stack And Local Conventions ```text Runtime: Node.js >= 22.19.0, ESM-only Language: TypeScript 5.9 strict, .js imports Tests: vitest Frontend: React + Vite + Tailwind Agent: @mariozechner/pi-coding-agent Gateway DB: mysql2 / node:sqlite raw SQL Memory DB: node:sqlite + FTS5 + sqlite-vec ``` - Use named exports; avoid default exports. - Siclaw is English-first and open-source-oriented. User-facing UI labels, prompts, docs, and PR text should default to clear English unless localization is explicitly requested. - Follow `CONTRIBUTING.md` for PR format. ## Commit Notes Commit messages should explain why. Add trailers only when they carry useful context: ```text Constraint: <external constraint> Rejected: <alternative> | <reason> Confidence: <low|medium|high> Scope-risk: <narrow|moderate|broad> Directive: <future warning> Tested: <what was verified> Not-tested: <known gaps> ```
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

