Skip to content

Docs: client setup pages, LinkedIn Ads overview and copy fixes - #43

Merged
stan-rym merged 2 commits into
mainfrom
docs/clients-and-fixes
Oct 19, 2026
Merged

stan-rym merged 2 commits into
mainfrom
docs/clients-and-fixes

Conversation

@stan-rym

@stan-rym stan-rym commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

Upstreams the docs pages and text fixes the adwarp.dev docs need, so this repo stays the only source of the docs. The website reads docs/*.md, docs/tools.json and skills/adwarp-*/SKILL.md from main.

New pages

  • docs/clients-claude-code.md, clients-claude-desktop.md, clients-codex.md, clients-cursor.md and clients-cli.md: setup for each client, a read-only check, and how writes work since 0.3.0 (update_ad, adwarp ad pause|resume|archive).
  • docs/platforms-linkedin-ads.md: what Adwarp does on LinkedIn Ads, area by area, with links to each tool group in tools.md.
  • install.md links to the client pages.

The pages name no tool counts, so they don't go stale when a release adds a tool.

Hosted support in tools.json

docs/tools.json marked 6 tools hosted: true that hosted.md says need local resources. The truth now lives next to the registration code:

  • HOSTED_LIMITS in packages/mcp/src/tools.ts lists the registered tools that can't fully run when hosted, each with a note.
  • gen-tools.mjs writes hosted (works on the hosted endpoint), hostedSupport (full, limited or none) and hostedNote. It fails if HOSTED_LIMITS names a tool the hosted route doesn't register.
  • Result: 21 full, 1 limited (inspect_competitor_ads), 14 none (upload_audience_csv, audience_from_salesforce, the 3 journal tools and the 9 gads_* tools). The hosted endpoint still registers the same 27 tools, so nothing changes at runtime.
  • hosted.md, tools.md and the README describe the new fields.

Copy fixes

  • index.md and README: a neutral competitor example in place of HubSpot, and no Meta mention. The endpoint's homepage example follows.
  • adwarp-competitors: <advertiser> --company-id <id> in place of a real company and id.
  • Skills: numerals for counts.
  • install.md: the Google credentials link points at google-ads.md#setup.
  • config.md said the ADWARP_GOOGLE_* variables were listed in google-ads.md, and they weren't. google-ads.md now has an Environment variables section, written from packages/google/src/config.ts: what each variable replaces, that the client id and secret switch the whole config to the environment, that the refresh token works on its own and turns off Google journaling, and that defaultConversionActionNames has no variable.
  • Em dashes: removed from the tool descriptions and zod describe() strings (so tools.json has none), from CLI output and help text, from README and ROADMAP, and from the example brief names. Code comments are unchanged.
  • No sentence starts with "Default": 3 skill lines and the update_campaign description are reworded. The website's copy check reads a capitalized "Default" as a company name.
  • apps/web docs page: it said activation happens only in Campaign Manager. It now says update_campaign and update_ad set ACTIVE on an explicit ask. It also drops the Meta mention and the old browser scraper claims, since competitor ads have no browser fallback.

Checks

  • pnpm -r build, pnpm -r typecheck and pnpm test (core 19, google 16, creative worker 10) pass.
  • pnpm gen:tools then git diff --exit-code -- docs/tools.json is clean, so the CI drift check passes.
  • pnpm pack plus scripts/smoke.mjs passes: the CLI and both MCP entries list the 36 tools in docs/tools.json.
  • Every relative link and heading anchor in docs/ and the skills resolves.

The website PR in adwarp-dev/website reads these pages. Merge this one first.

🤖 Generated with Claude Code

Add 6 pages to docs/: setup for Claude Code, Claude Desktop, Codex, Cursor
and the CLI, and a LinkedIn Ads overview. They cover the 0.3.0 ad status
changes (update_ad, adwarp ad pause|resume|archive).

docs/tools.json now says which tools work on the hosted endpoint. HOSTED_LIMITS
in packages/mcp/src/tools.ts lists the 6 registered tools that need local
resources, and gen-tools writes hosted, hostedSupport (full, limited or none)
and hostedNote from it. upload_audience_csv, audience_from_salesforce and the 3
journal tools become hosted: false, inspect_competitor_ads is limited.

Copy fixes: a neutral competitor example instead of HubSpot and Ramp, no Meta
mention, numerals for counts in the skills, no em dashes in tool descriptions,
CLI output, README or examples, the Google env vars listed in google-ads.md,
and the endpoint's docs page now says update_campaign and update_ad can set
ACTIVE on an explicit ask.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
liam Ready Ready Preview Oct 18, 2026 9:53pm UTC

Request Review

…tions

The website's copy check reads a capitalized "Default" as a company name, so
reword the 3 skill lines and the update_campaign description that started a
sentence with it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@stan-rym
stan-rym merged commit afae873 into main Oct 19, 2026
4 checks passed
@stan-rym stan-rym mentioned this pull request Oct 19, 2026

This branch was successfully deployed

1 active deployment
Preview — 1e492fb2 Deployed Oct 18, 2026 by vercel[bot]
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.

1 participant