diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index cfa4d51..56c035a 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -5,19 +5,19 @@ }, "metadata": { "description": "Claude-first, portable paid-media operations across 12 advertising platforms.", - "version": "2.0.0" + "version": "2.0.1" }, "plugins": [ { "name": "claude-ads", "source": "./", "description": "Claude-first, portable paid-media operations across 12 advertising platforms with source-grounded audits, deterministic scoring, lifecycle workflows, versioned JSON reports, and capability-gated account changes.", - "version": "2.0.0", + "version": "2.0.1", "author": { "name": "AgriciDaniel" }, "homepage": "https://agricidaniel.com/blog/claude-code-ad-agency", - "repository": "https://github.com/AI-Marketing-Hub/claude-ads", + "repository": "https://github.com/AgriciDaniel/claude-ads", "license": "MIT", "category": "marketing", "tags": [ diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index a01ada2..7102901 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,13 +1,13 @@ { "name": "claude-ads", - "version": "2.0.0", + "version": "2.0.1", "description": "Claude-first, portable paid-media operations for Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat, and X. Source-grounded audits, plans, creative workflows, monitoring, experiments, versioned JSON reports, deterministic scoring, and capability-gated account changes.", "author": { "name": "AgriciDaniel", "url": "https://github.com/AgriciDaniel" }, "homepage": "https://agricidaniel.com/blog/claude-code-ad-agency", - "repository": "https://github.com/AI-Marketing-Hub/claude-ads", + "repository": "https://github.com/AgriciDaniel/claude-ads", "license": "MIT", "keywords": [ "agent-skills", diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 97a6a8f..fd61007 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ blank_issues_enabled: false contact_links: - name: Feature Requests & General Questions - url: https://github.com/AI-Marketing-Hub/claude-ads/discussions + url: https://github.com/AgriciDaniel/claude-ads/discussions about: Share ideas, ask questions, and discuss improvements in Discussions diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index f8ea7d0..da89507 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -6,7 +6,7 @@ body: - type: markdown attributes: value: | - Have a feature idea? You can also discuss it in [GitHub Discussions](https://github.com/AI-Marketing-Hub/claude-ads/discussions) for community input before opening a formal request. + Have a feature idea? You can also discuss it in [GitHub Discussions](https://github.com/AgriciDaniel/claude-ads/discussions) for community input before opening a formal request. - type: textarea id: problem diff --git a/CHANGELOG.md b/CHANGELOG.md index 756771a..0c742aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,31 @@ All notable changes to claude-ads are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.0.1] - 2026-07-13 + +Documentation and metadata patch on top of v2.0.0 for the public mirror +release. No code-contract, scoring, catalog, or behavior changes. + +### Changed + +* **Public release surface**: user-facing repository links in the README + install paths, `SUPPORT.md`, `SECURITY.md`, `CODE_OF_CONDUCT.md`, + `CONTRIBUTING.md`, the issue templates, `CITATION.cff`, and the plugin and + marketplace manifests now point to the public `AgriciDaniel/claude-ads` + repository, so installation, issues, discussions, and private vulnerability + reporting work without AI-Marketing-Hub org access. The community mirror + stays documented for AI Marketing Hub Pro members. +* **Installer default clone source** (`install.sh`, `install.ps1`) retargeted + from the private org repository to the public repository so remote-source + installs can clone it without org credentials. +* **Runtime attribution URLs**: the PDF report footer (`generate_report.py`) + and the page-fetch User-Agent contact URL (`fetch_page.py`) now reference + the public repository. Signed review-evidence provenance + (`review_evidence.py`, review templates) intentionally keeps the canonical + org subject. +* **README**: added the dual-distribution note and the native Claude Code + plugin install commands. + ## [2.0.0] - 2026-07-12 Major architecture release for professional paid-media operations. diff --git a/CITATION.cff b/CITATION.cff index fb8b445..ecc619b 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -11,11 +11,11 @@ abstract: > authors: - alias: AgriciDaniel name-particle: "" -repository-code: "https://github.com/AI-Marketing-Hub/claude-ads" -url: "https://github.com/AI-Marketing-Hub/claude-ads" +repository-code: "https://github.com/AgriciDaniel/claude-ads" +url: "https://github.com/AgriciDaniel/claude-ads" license: MIT -version: "2.0.0" -date-released: "2026-07-12" +version: "2.0.1" +date-released: "2026-07-13" keywords: - paid advertising - google ads diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 87252b9..c5724d8 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -48,7 +48,7 @@ Instances of abusive, harassing, or otherwise unacceptable behavior may be repor to the project maintainer at: - **GitHub**: [@AgriciDaniel](https://github.com/AgriciDaniel) -- **Private report**: [GitHub Security Advisory](https://github.com/AI-Marketing-Hub/claude-ads/security/advisories/new) +- **Private report**: [GitHub Security Advisory](https://github.com/AgriciDaniel/claude-ads/security/advisories/new) All complaints will be reviewed and investigated promptly and fairly. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index def6ba7..6e3ade2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,7 @@ raw private research, local absolute paths, or agent transcripts. ## Development setup ```bash -git clone https://github.com/AI-Marketing-Hub/claude-ads.git +git clone https://github.com/AgriciDaniel/claude-ads.git cd claude-ads python -m venv .venv .venv/bin/python -m pip install -e . -r requirements.txt -r requirements-dev.txt @@ -91,7 +91,7 @@ deletion is unsupported in v2. ## Security reports Do not open a public issue for a vulnerability. Use the repository's private -[GitHub Security Advisory](https://github.com/AI-Marketing-Hub/claude-ads/security/advisories/new) +[GitHub Security Advisory](https://github.com/AgriciDaniel/claude-ads/security/advisories/new) channel and include the affected version, reproduction, and impact. ## Release work diff --git a/README.md b/README.md index 9a59dba..73fa9f8 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,14 @@ audits, plans, creative workflows, experiments, monitoring, and reports. It is read-only by default. Live changes stay disabled until the exact platform and operation pass approval, idempotency, verification, audit, and rollback gates. +> [!NOTE] +> Claude Ads ships from two homes: the **public release** at +> [`AgriciDaniel/claude-ads`](https://github.com/AgriciDaniel/claude-ads) +> (MIT, no membership required) and the **community mirror** at +> `AI-Marketing-Hub/claude-ads`, where +> [AI Marketing Hub Pro](https://www.skool.com/ai-marketing-hub-pro) members +> get early access and direct collaboration. +

Validated inputs flow through bounded workers into schema-valid findings and deterministic reports

@@ -83,10 +91,17 @@ runtime supports them. Prefer the host's native plugin flow or a tagged release archive with a verified SHA-256 checksum. Never pipe a remote installer directly to a shell. -From an authenticated local checkout of the private v2 branch: +For Claude Code, the native plugin flow is: + +```text +/plugin marketplace add AgriciDaniel/claude-ads +/plugin install claude-ads@ai-marketing-hub-claude-ads +``` + +Or install from a local clone of the public repository: ```bash -git clone --branch v2 https://github.com/AI-Marketing-Hub/claude-ads.git +git clone https://github.com/AgriciDaniel/claude-ads.git cd claude-ads bash install.sh --source=local ``` @@ -101,7 +116,7 @@ bash install.sh --target=gemini --source=local --no-deps PowerShell uses the same managed ownership model: ```powershell -git clone --branch v2 https://github.com/AI-Marketing-Hub/claude-ads.git +git clone https://github.com/AgriciDaniel/claude-ads.git Set-Location claude-ads .\install.ps1 -Source local ``` diff --git a/SECURITY.md b/SECURITY.md index 8315087..c7c59e8 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -5,7 +5,7 @@ If you discover a security vulnerability, please report it responsibly via the **private GitHub Security Advisory channel**: 1. **Do NOT open a public issue** (public issues expose the vulnerability before it can be patched). -2. Open a [GitHub Security Advisory](https://github.com/AI-Marketing-Hub/claude-ads/security/advisories/new) on this repo. This is the only supported private disclosure channel — do not email or DM. +2. Open a [GitHub Security Advisory](https://github.com/AgriciDaniel/claude-ads/security/advisories/new) on the public repo. This is the only supported private disclosure channel — do not email or DM. 3. Include: affected version (for example v2.0.0), reproduction steps, and impact assessment. We aim to acknowledge reports within **48 hours** and provide an estimated resolution timeline within **7 days**. diff --git a/SUPPORT.md b/SUPPORT.md index b9e5898..a73b1b1 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -4,15 +4,15 @@ | Need | Where to go | |------|-------------| -| **Bug report** | [Open a GitHub Issue](https://github.com/AI-Marketing-Hub/claude-ads/issues/new/choose) | -| **Feature request or question** | [GitHub Discussions](https://github.com/AI-Marketing-Hub/claude-ads/discussions) | -| **Security vulnerability** | [GitHub Security Advisory](https://github.com/AI-Marketing-Hub/claude-ads/security/advisories/new) (private) | +| **Bug report** | [Open a GitHub Issue](https://github.com/AgriciDaniel/claude-ads/issues/new/choose) | +| **Feature request or question** | [GitHub Discussions](https://github.com/AgriciDaniel/claude-ads/discussions) | +| **Security vulnerability** | [GitHub Security Advisory](https://github.com/AgriciDaniel/claude-ads/security/advisories/new) (private) | | **Contributing** | See [CONTRIBUTING.md](CONTRIBUTING.md) | ## Before Opening an Issue 1. Check the [README](README.md); installation, usage, and FAQ cover the most common questions -2. Search [existing issues](https://github.com/AI-Marketing-Hub/claude-ads/issues) to avoid duplicates +2. Search [existing issues](https://github.com/AgriciDaniel/claude-ads/issues) to avoid duplicates 3. Include your OS, Python version, the command that failed, and the full error output ## Response Time diff --git a/install.ps1 b/install.ps1 index a9c9046..79dcbbf 100644 --- a/install.ps1 +++ b/install.ps1 @@ -191,7 +191,7 @@ function Main { } $SkillDirResolved = [IO.Path]::GetFullPath((Join-Path $SkillBase "ads")) $ManifestPath = [IO.Path]::GetFullPath((Join-Path $SkillBase ".claude-ads-$Target.manifest.json")) - $RepoUrl = "https://github.com/AI-Marketing-Hub/claude-ads" + $RepoUrl = "https://github.com/AgriciDaniel/claude-ads" $StringComparer = if ($PathComparison -eq [StringComparison]::OrdinalIgnoreCase) { [StringComparer]::OrdinalIgnoreCase } else { diff --git a/install.sh b/install.sh index b5d15d7..22f85ac 100755 --- a/install.sh +++ b/install.sh @@ -24,7 +24,7 @@ set -euo pipefail # possible via --target=...). Custom --skill-dir paths are validated against # `;&|$()<>` ` `, leading dashes, `..` segments, and UNC-style paths. -REPO_URL="https://github.com/AI-Marketing-Hub/claude-ads" +REPO_URL="https://github.com/AgriciDaniel/claude-ads" SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) # ───────────────────────────────────────────────────────────────────────────── diff --git a/scripts/fetch_page.py b/scripts/fetch_page.py index d701611..ff3fa5d 100755 --- a/scripts/fetch_page.py +++ b/scripts/fetch_page.py @@ -28,7 +28,7 @@ except ImportError: DEFAULT_HEADERS = { - "User-Agent": "Mozilla/5.0 (compatible; ClaudeAds/1.7; +https://github.com/AI-Marketing-Hub/claude-ads)", + "User-Agent": "Mozilla/5.0 (compatible; ClaudeAds/1.7; +https://github.com/AgriciDaniel/claude-ads)", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language": "en-US,en;q=0.5", "Accept-Encoding": "gzip, deflate", diff --git a/scripts/generate_report.py b/scripts/generate_report.py index fffeafc..a5316e0 100755 --- a/scripts/generate_report.py +++ b/scripts/generate_report.py @@ -627,7 +627,7 @@ def build_pdf(data: dict, output_path: str, brand_name: str = ""): elements.append(Spacer(1, 6)) elements.append(Paragraph( f"Report generated by claude-ads v{__version__} | " - "https://github.com/AI-Marketing-Hub/claude-ads", + "https://github.com/AgriciDaniel/claude-ads", styles["RFooter"], ))