mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 19:05:18 +00:00
4.8 KiB
4.8 KiB
Instructions
Naming and Ownership
- This repository/product is Sandbox Agent.
- Gigacode is a separate user-facing UI/client, not the server product name.
- Gigacode integrates with Sandbox Agent via the OpenCode-compatible surface (
/opencode/*) when that compatibility layer is enabled. - Canonical extension namespace/domain string is
sandboxagent.dev(no hyphen). - Canonical custom ACP extension method prefix is
_sandboxagent/...(no hyphen).
Docs Terminology
- Never mention "ACP" in user-facing docs (
docs/**/*.mdx) except in docs that are specifically about ACP itself (e.g.docs/acp-http-client.mdx). - Never expose underlying protocol method names (e.g.
session/request_permission,session/create,_sandboxagent/session/detach) in non-ACP docs. Describe the behavior in user-facing terms instead. - Do not describe the underlying protocol implementation in docs. Only document the SDK surface (methods, types, options). ACP protocol details belong exclusively in ACP-specific pages.
- Do not use em dashes (
—) in docs. Use commas, periods, or parentheses instead.
Docs Source Of Truth (HTTP/CLI)
- For HTTP/CLI docs/examples, source of truth is:
server/packages/sandbox-agent/src/router.rsserver/packages/sandbox-agent/src/cli.rs
- Keep docs aligned to implemented endpoints/commands only (for example ACP under
/v1/acp, not legacy session REST APIs).
Change Tracking
- If the user asks to "push" changes, treat that as permission to commit and push all current workspace changes, not a hand-picked subset, unless the user explicitly scopes the push.
- Keep CLI subcommands and HTTP endpoints in sync.
- Update
docs/cli.mdxwhen CLI behavior changes. - Regenerate
docs/openapi.jsonwhen HTTP contracts change. - Keep
docs/inspector.mdxanddocs/sdks/typescript.mdxaligned with implementation. - Append blockers/decisions to
research/acp/friction.mdduring ACP work. docs/agent-capabilities.mdxlists models/modes/thought levels per agent. Update it when adding a new agent or changingfallback_config_options. If its "Last updated" date is >2 weeks old, re-runcd scripts/agent-configs && npx tsx dump.tsand update the doc to match. Source data:scripts/agent-configs/resources/*.jsonand hardcoded entries inserver/packages/sandbox-agent/src/router/support.rs(fallback_config_options).- Some agent models are gated by subscription (e.g. Claude
opus). The live report only shows models available to the current credentials. The static doc and JSON resource files should list all known models regardless of subscription tier.
Docker Test Image
- Docker-backed Rust and TypeScript tests build
docker/test-agent/Dockerfiledirectly in-process and cache the image tag only in memory (OnceLockin Rust, module-level variable in TypeScript). - Do not add cross-process image-build scripts unless there is a concrete need for them.
Common Software Sync
- These three files must stay in sync:
docs/common-software.mdx(user-facing documentation)docker/test-common-software/Dockerfile(packages installed in the test image)server/packages/sandbox-agent/tests/common_software.rs(test assertions)
- When adding or removing software from
docs/common-software.mdx, also add/remove the correspondingapt-get installline in the Dockerfile and add/remove the test incommon_software.rs. - Run
cargo test -p sandbox-agent --test common_softwareto verify.
Install Version References
- Channel policy:
- Sandbox Agent install/version references use a pinned minor channel
0.N.x(for curl URLs andsandbox-agent/@sandbox-agent/clinpm/bun installs). - Gigacode install/version references use
latest(for@sandbox-agent/gigacodeinstall/run commands andgigacode-install.*release promotion). - Release promotion policy:
latestreleases must still updatelatest; when a release islatest, Sandbox Agent must also be promoted to the matching minor channel0.N.x.
- Sandbox Agent install/version references use a pinned minor channel
- Keep every install-version reference below in sync whenever versions/channels change:
README.mddocs/acp-http-client.mdxdocs/cli.mdxdocs/quickstart.mdxdocs/sdk-overview.mdxdocs/react-components.mdxdocs/session-persistence.mdxdocs/deploy/local.mdxdocs/deploy/cloudflare.mdxdocs/deploy/vercel.mdxdocs/deploy/daytona.mdxdocs/deploy/e2b.mdxdocs/deploy/docker.mdxfrontend/packages/website/src/components/GetStarted.tsx.claude/commands/post-release-testing.mdexamples/cloudflare/Dockerfileexamples/daytona/src/index.tsexamples/shared/src/docker.tsexamples/docker/src/index.tsexamples/e2b/src/index.tsexamples/vercel/src/index.tsscripts/release/main.tsscripts/release/promote-artifacts.tsscripts/release/sdk.ts