Add Devin skills for testing, setup, codegen, CI, releases, templates, and triage - #1755
Add Devin skills for testing, setup, codegen, CI, releases, templates, and triage#1755devin-ai-integration[bot] wants to merge 8 commits into
Conversation
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
Package ArtifactsBuilt from 744e723. Download artifacts from this workflow run. JS SDK ( npm install ./e2b-2.45.1-devin-1787338449-devin-skills.0.tgzCLI ( npm install ./e2b-cli-2.17.2-devin-1787338449-devin-skills.0.tgzPython SDK ( pip install ./e2b-2.45.1+devin.1787338449.devin.skills-py3-none-any.whl |
There was a problem hiding this comment.
Reviewed against TASTE.md (e2b-dev/sdk-harness). This PR adds four agent skill docs and no SDK code, so most of the API-surface rules (T-3..T-27, T-31..T-74) don't apply. What is in scope is the guidance the skills give about SDK parity, since agents will follow it when they do change the surface: T-1/T-2 (three surfaces mirror 1:1, sync/async separate mirrors) and T-28 (the one sanctioned break in sync/async parity: sync Python never spawns background threads, so streaming callbacks move to wait() and watch_dir returns a polling handle).
2 violations, both the same issue: a blanket "sync and async must be equivalent / mirrored" instruction that contradicts T-28 and will push agents toward the hybrids T-28 explicitly forbids. Inline comments below.
Not tied to a changed line: I spot-checked the factual claims (vitest projects and excludes in vitest.config.mts, cli globalSetup: ['tests/setup.ts'], pytest.ini markers/timeout/pythonpath, package scripts, buildTableRows/sortSandboxes exports, --detach on sandbox create) and they match main. One suggestion for a follow-up, not a TASTE rule: none of the four skills point at the SDK design principles themselves, so an agent adding a public method learns how to test it but not that required args are positional (T-3), that lifecycles come from static factories (T-4), or that Url/Id casing is fixed (T-12). A one-line pointer in testing-js-sdk and testing-python-sdk would close that gap.
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
…, and issue triage Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
|
Added the streaming-parity qualifier in 3daee27. |
|
This line was removed when the skills were scoped to the testing process only (b056917). |
Summary
Adds ten agent skills under
.agents/skills/(auto-loaded by Devin in this repo) and deletes the staleDEV.md.Testing (scoped to the testing process only):
testing-js-sdk— vitest project layout (unit/template/connectionConfig/browser), which suites needE2B_API_KEY, single-file iteration, bun/deno runs, offline msw-mocked suites, CI staging-flake / staging-vs-production notes.testing-python-sdk— uv/pytest usage, sync vs async layout (incl. the streaming exception to parity), offline-only runs,skip_debugmarker, CI notes.testing-cli— builddist/index.jsand run it headlessly withE2B_API_KEY(noauth login),-d/exec -- bash -lcpatterns, metadata-filter empty state,--format jsonvalidation, how vitest builds and spawns the real CLI.verifying-cli-visual-output— renderer tests, directnpx tsxharness, eyeball checklist (uppercase headers, wcswidth alignment, no trailing whitespace), TTY vs piped ANSI behavior (FORCE_COLOR,script -qec), screenshot/GUI caveats.setting-up-testing-environment— toolchain (.tool-versions), pnpm/uv installs, SDK/CLI builds, credential conventions (E2B_API_KEY,.env.local,~/.e2b/config.json), smoke checks.Operational:
codegen-and-specs— spec ownership (infra/belt via Copybara),spec/*-refpins,make codegen, redocly filtering, thegenerated_filesCI check.debugging-ci— thesdk_tests.ymlmatrix, the requiredSDK Tests Statusaggregate, known staging flakes, staging-before-production API skew, Cloudflare-deploy races, debug loop.releasing— changesets,release.yml(main-only, preflight → tests → publish),release-candidate.ymlprereleases.building-templates— CLI Dockerfile flow (e2b template create,--ready-cmd, migrate), the js-sdk Template builder, the repo'stemplates/and their manual build workflow.triaging-issues— the automation's classification dimensions, label policy, spam handling, and triage comment format.Also folds in insights mined from prior Devin sessions (known staging CI flakes, staging-before-production API skew, CJK/emoji width handling) and the content of the previous
testing-cli-tablesskill.Commands were verified locally (CLI built and run against the real API; test entrypoints checked against package scripts and configs). Workflow claims verified against
.github/workflows/. The existingskills/stripe-projectsdir is untouched. No changeset: skill docs don't change the public package surface.Link to Devin session: https://app.devin.ai/sessions/c6f4ad63608846c5840c70d5696d62d7
Requested by: @mishushakov