mirror of
https://github.com/AgriciDaniel/claude-ads.git
synced 2026-09-14 20:36:30 +08:00
release: v2.0.1 - public mirror release
Documentation and metadata patch on v2.0.0 that adapts the release surface for the public AgriciDaniel/claude-ads repository. No code-contract, scoring, catalog, or behavior changes; claude-ads-core stays 2.0.0 because the dependency evidence chain pins pyproject.toml by SHA-256 and no library code changed. - Retarget user-facing links (README install paths, SUPPORT, SECURITY, CODE_OF_CONDUCT, CONTRIBUTING, issue templates, CITATION.cff, plugin and marketplace manifests) from the private org repo to the public repo so installation, issues, discussions, and private vulnerability reporting work without org access. - Retarget installer default clone source (install.sh, install.ps1), the PDF report footer, and the fetch User-Agent contact URL. - Keep signed review-evidence provenance on the canonical org subject. - Add the dual-distribution note and native plugin commands to README. - Bump plugin, marketplace, and citation versions to 2.0.1. Verified: scripts/release.py audit green (339 tracked files); full pytest suite green locally (506 passed, Python 3.11, hash-locked dependencies); range 283d9d4..HEAD scanned for secrets, personal emails, and local paths (clean). pip-audit: dev lock clean; runtime lock reports three known pillow 12.2.0 advisories (PYSEC-2026-2254/2256/2257) tracked for a dependency-refresh patch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -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": [
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
+4
-4
@@ -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
|
||||
|
||||
+1
-1
@@ -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.
|
||||
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
<p align="center">
|
||||
<img src="assets/diagrams/how-it-works.svg" alt="Validated inputs flow through bounded workers into schema-valid findings and deterministic reports" width="100%">
|
||||
</p>
|
||||
@@ -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
|
||||
```
|
||||
|
||||
+1
-1
@@ -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**.
|
||||
|
||||
+4
-4
@@ -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
|
||||
|
||||
Vendored
+1
-1
@@ -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 {
|
||||
|
||||
+1
-1
@@ -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)
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"],
|
||||
))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user