Skip to content

docs(examples): worked TS + Solidity/Foundry adapter example (#6) - #28

Merged
robercano-ghbot merged 1 commit into
mainfrom
feat/issue-6-mixed-stack-example
Jul 1, 2026
Merged

docs(examples): worked TS + Solidity/Foundry adapter example (#6)#28
robercano-ghbot merged 1 commit into
mainfrom
feat/issue-6-mixed-stack-example

Conversation

@robercano-ghbot

Copy link
Copy Markdown
Collaborator

What

Adds an examples/ directory with a worked, sanitized adapter example for a mixed TypeScript (pnpm workspace) + Solidity (Foundry) monorepo — the non-JS / multi-toolchain case the template shipped no concrete reference for.

Files (all new, under examples/):

  • examples/README.md — index of worked examples.
  • examples/ts-solidity-foundry/gates.json — the reference adapter.
  • examples/ts-solidity-foundry/CLAUDE.md — worked project context.
  • examples/ts-solidity-foundry/README.md — walkthrough of the four mixed-stack decisions.

The decisions it captures (from the issue)

  1. Gates spanning two toolchainspnpm -r build && (cd contracts && forge build); the && short-circuit + subshell (cd contracts && …) rationale.
  2. Module map mixing packages/* (TS) and contracts/ (Foundry) — each a non-overlapping worker boundary, plus the generated-ABI rule (build artifact, not a cross-module edit; cross-cutting features get re-scoped, not reached across).
  3. Mixed-stack test_affectedpnpm --filter "...[origin/main]" + full forge test (Foundry has no native since-base filter), with the worktree git fetch origin main caveat.
  4. Artifacts to gitignore vs trackout//cache//dist/ ignored; ABI/foundry.toml/lockfiles tracked; never .env.

Scope

Examples-module slice of #6 (adapter .claude/self/gates.json, module examples). Single new dir, zero overlap with other modules.

Gates

GATES_FILE=.claude/self/gates.json build + lint + test all green; the example gates.json is valid JSON and matches the shipped .claude/gates.json adapter shape.

Review

Reviewer lenses per self-adapter (correctness, tests), consensus=all: both approved (high confidence). No blocking findings. Non-blocking follow-up noted for the harness/CI backlog (overlaps #25): extend .claude/self/checks.sh to lint examples/**/gates.json so example adapters are gate-covered.

Closes #6.

🤖 Generated with Claude Code

Adds examples/ with a reference gates.json + CLAUDE.md + walkthrough for a
pnpm-workspace + Foundry monorepo — the mixed-stack case the template shipped no
concrete example for. Covers the four decisions a JS-only example doesn't surface:
- gates that span two toolchains (pnpm && (cd contracts && forge ...)), with the
  subshell + && rationale;
- a module map mixing packages/* (TS) and contracts/ (Foundry), and the generated-ABI
  boundary rule (artifact, not a cross-module edit);
- mixed-stack test_affected (pnpm --filter ...[origin/main] + full forge test, no
  native since-base) with the worktree fetch caveat;
- artifacts to gitignore vs track (out/cache/dist ignored; ABI/foundry.toml/lockfiles).

examples-module slice of #6; single new dir, no overlap with other modules.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011HosUeuSvhetARboEfDW6K
@robercano-ghbot
robercano-ghbot merged commit 1d8ced9 into main Jul 1, 2026
6 checks passed
@robercano-ghbot
robercano-ghbot deleted the feat/issue-6-mixed-stack-example branch July 1, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a worked mixed-stack (TS + Solidity / Foundry) adapter example

2 participants