antithesis-setup
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAntithesis Setup
Antithesis 环境搭建
Purpose and Goal
目的与目标
Scaffold the harness needed to bring the system up in Antithesis
in a mostly idle, ready state.
antithesis/Success means:
- exists and required SUT images are referenced with
antithesis/config/docker-compose.yamldirectivesbuild: - on
snouty validatesucceedsantithesis/config/ - the SUT dependency graph includes the relevant Antithesis SDK where assertions or lifecycle hooks will run
- at least one minimal bootstrap property exists in a simple SUT path and is expected to show up in the first Antithesis run
- The harness is ready for the skill to add or iterate on test templates, assertions, and workload code
antithesis-workload
搭建目录下的测试框架,使系统能在Antithesis中以基本空闲、就绪的状态启动。
antithesis/成功标志:
- 已存在,且所需的SUT镜像通过
antithesis/config/docker-compose.yaml指令引用build: - 对执行
antithesis/config/验证通过snouty validate - SUT依赖图包含相关的Antithesis SDK,该SDK将用于运行断言或生命周期钩子
- 在简单的SUT路径中至少存在一个最小的启动属性,且预期会在首次Antithesis运行中显示
- 测试框架已准备好使用技能添加或迭代测试模板、断言和工作负载代码
antithesis-workload
Prerequisites
前置条件
- DO NOT PROCEED if the Antithesis scratchbook (usually at ) doesn't exist. Use the
antithesis/scratchbook/skill to create it.antithesis-research - DO NOT PROCEED if is not installed. See
snoutyfor installation options.https://raw.githubusercontent.com/antithesishq/snouty/refs/heads/main/README.md
- 如果Antithesis scratchbook(通常位于)不存在,请不要继续操作。使用
antithesis/scratchbook/技能创建它。antithesis-research - 如果未安装,请不要继续操作。查看
snouty获取安装选项。https://raw.githubusercontent.com/antithesishq/snouty/refs/heads/main/README.md
Documentation Grounding
文档参考
Use the skill to access these pages. Prefer .
antithesis-documentationsnouty docs- Docker Compose setup guide:
https://antithesis.com/docs/getting_started/setup/ - Docker best practices:
https://antithesis.com/docs/best_practices/docker_best_practices/ - Coverage instrumentation:
https://antithesis.com/docs/instrumentation/coverage_instrumentation/ - Assertion cataloging:
https://antithesis.com/docs/instrumentation/assertion_cataloging/ - Handling external dependencies:
https://antithesis.com/docs/reference/dependencies/ - Fault injection:
https://antithesis.com/docs/environment/fault_injection/
使用技能访问以下页面。优先使用命令。
antithesis-documentationsnouty docs- Docker Compose设置指南:
https://antithesis.com/docs/getting_started/setup/ - Docker最佳实践:
https://antithesis.com/docs/best_practices/docker_best_practices/ - 覆盖率插桩:
https://antithesis.com/docs/instrumentation/coverage_instrumentation/ - 断言编目:
https://antithesis.com/docs/instrumentation/assertion_cataloging/ - 外部依赖处理:
https://antithesis.com/docs/reference/dependencies/ - 故障注入:
https://antithesis.com/docs/environment/fault_injection/
Workflow
工作流程
This skill is broken out into multiple steps, each in a different reference file. Read and implement each reference file listed below one at a time to fully set up a project.
- : initialize or merge the
references/directory-init.mddirectory fromantithesis/assets/antithesis/ - : decide how each SUT service is instrumented, how the SDK is installed, how symbols are delivered, and where the bootstrap property lives
references/instrumentation.md - : create or adapt Dockerfiles for SUT components
references/docker-images.md - : write
references/docker-compose.mdantithesis/config/docker-compose.yaml - : understand what belongs in
references/config-dir.mdantithesis/config/ - : test locally and submit the first run
references/submit-and-test.md
本技能分为多个步骤,每个步骤对应不同的参考文件。请依次阅读并实现以下列出的每个参考文件,以完成项目的完整设置。
- :从
references/directory-init.md初始化或合并assets/antithesis/目录antithesis/ - :确定每个SUT服务的插桩方式、SDK的安装方式、符号的交付方式以及启动属性的位置
references/instrumentation.md - :为SUT组件创建或适配Dockerfile
references/docker-images.md - :编写
references/docker-compose.mdantithesis/config/docker-compose.yaml - :了解
references/config-dir.md目录下应包含的内容antithesis/config/ - :本地测试并提交首次运行
references/submit-and-test.md
General Guidance
通用指南
- Merge with existing content instead of overwriting it.
antithesis/ - Prefer for local testing; fall back to
podman compose.docker compose - Keep Antithesis-only scaffolding under when practical.
antithesis/ - Focus this skill on infrastructure and readiness, not on defining the workload itself.
- Installing the relevant Antithesis SDK into the SUT and adding one minimal bootstrap assertion is part of setup, not deferred workload work.
- If does not exist yet, create the directory structure needed for later workload work, but leave real test templates and assertions to
antithesis/test/.antithesis-workload - Treat instrumentation and symbolization as bootstrap work. The setup is not complete until the relevant images expose or
/opt/antithesis/catalog/correctly for their language./symbols/ - Treat local testing as required before the first submission.
- Use directly to submit runs. Run
snouty runbeforecompose buildto ensure images are up to date.snouty run - Do not add a separate Dockerfile under unless the deployment explicitly requires it.
antithesis/config/
- 与已有的目录内容合并,而非覆盖。
antithesis/ - 优先使用进行本地测试; fallback到
podman compose。docker compose - 尽可能将仅属于Antithesis的框架文件放在目录下。
antithesis/ - 本技能专注于基础设施和就绪状态,而非定义工作负载本身。
- 将相关的Antithesis SDK安装到SUT中,并添加一个最小的启动断言,这是设置工作的一部分,而非延迟到工作负载阶段。
- 如果目录尚未存在,创建后续工作负载所需的目录结构,但实际的测试模板和断言留待
antithesis/test/技能处理。antithesis-workload - 将插桩和符号化视为启动工作。直到相关镜像为其语言正确暴露或
/opt/antithesis/catalog/目录,设置工作才算完成。/symbols/ - 首次提交前必须进行本地测试。
- 直接使用提交运行。在
snouty run之前运行snouty run以确保镜像为最新版本。compose build - 除非部署明确要求,否则不要在下添加单独的Dockerfile。
antithesis/config/
Self-Review
自我检查
Before declaring this skill complete, review your work against the criteria below. If your agent supports spawning sub-agents, create a new agent with fresh context to perform this review — give it the path to this skill file and have it read all output artifacts. A fresh-context reviewer catches blind spots that in-context review misses. If your agent does not support sub-agents, perform the review yourself: re-read the success criteria at the top of this file, then systematically check each item below against your actual output.
Review criteria:
- exists and every service has
antithesis/config/docker-compose.yaml(for local images) orbuild:(for public images) configured correctlyimage: - Every service in docker-compose.yaml includes
platform: linux/amd64 - The instrumentation inventory from is fully implemented: each service is instrumented, cataloged-only, or explicitly documented as uninstrumented
references/instrumentation.md - The relevant Antithesis SDK is installed in the SUT dependency graph
- A bootstrap property exists in a simple, guaranteed-to-run code path (not behind rare behavior)
- or
/opt/antithesis/catalog/is exposed correctly for each service's language/symbols/ - The signal is wired in at least one entrypoint
setup_complete - on
snouty validatesucceedsantithesis/config/ - All built images target (verified via
amd64orpodman image inspect)docker image inspect - The harness is ready for the skill — test template directories exist or are wired for later use
antithesis-workload
在声明本技能完成前,请根据以下标准检查你的工作。如果你的Agent支持生成子Agent,请创建一个带有全新上下文的新Agent来执行此检查——将本技能文件的路径提供给它,并让它读取所有输出产物。全新上下文的审查者能发现上下文内审查遗漏的盲点。如果你的Agent不支持子Agent,请自行执行审查:重新阅读本文件顶部的成功标准,然后系统地将以下每一项与你的实际输出进行比对。
检查标准:
- 已存在,且每个服务都正确配置了
antithesis/config/docker-compose.yaml(针对本地镜像)或build:(针对公共镜像)image: - docker-compose.yaml中的每个服务都包含
platform: linux/amd64 - 中的插桩清单已完全实现:每个服务都已插桩、仅编目,或明确记录为未插桩
references/instrumentation.md - SUT依赖图中已安装相关的Antithesis SDK
- 在简单的、确保会执行的代码路径中存在一个启动属性(而非在罕见行为背后)
- 每个服务的语言对应的或
/opt/antithesis/catalog/目录已正确暴露/symbols/ - 至少一个入口点已连接信号
setup_complete - 对执行
antithesis/config/验证通过snouty validate - 所有构建的镜像都以为目标(通过
amd64或podman image inspect验证)docker image inspect - 测试框架已准备好使用技能——测试模板目录已存在或已为后续使用做好配置
antithesis-workload