agentic-web-developer 1.0.2 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -36,11 +36,11 @@ npx agentic-web-developer install --all
36
36
  npx agentic-web-developer detect
37
37
  ```
38
38
 
39
- Other flags: `--force` (overwrite), `--dry-run` (print targets only), `--dir=<path>` (custom destination), `--source=<url|path>` / `--token=<key>` (skill source).
39
+ Other flags: `--license-key=<key>` (save your Pro key during install — see [License & unlocking](#license--unlocking-the-skill)), `--admin-email` / `--admin-secret` (staff), `--force` (overwrite), `--dry-run` (print targets only), `--dir=<path>` (custom destination), `--source=<url|path>` / `--token=<key>` (skill source).
40
40
 
41
41
  Then **restart your AI agent** so it loads the skill.
42
42
 
43
- > **On first run the skill asks for its Pro license key** (or admin credentials) and validates it once per session — see [License & unlocking](#license--unlocking-the-skill) before you start a project.
43
+ > **On first run the skill asks for its Pro license key** (or admin credentials) and validates it once per session — or pass it up front with `--license-key=…` and skip the prompt. See [License & unlocking](#license--unlocking-the-skill).
44
44
 
45
45
  > **Where does the skill come from?** Not from npm — the package ships only the installer and docs. The installer fetches the skill from a source you configure (`--source`, `AWD_SOURCE`, or the author's `awd.source` in `package.json`). See [docs/INSTALL.md § Skill source](docs/INSTALL.md#skill-source).
46
46
 
@@ -70,24 +70,22 @@ The skill ships behind the **Animotion Pro plan — $7/month**. One validation p
70
70
 
71
71
  Pick one — the gate looks for environment variables first, then the installer's config file, then asks you once:
72
72
 
73
- **1. Install the AnimotionJS skill with your key (recommended — one command, everything wired)**
73
+ **1. Install the skill with your key (recommended — one command, everything wired)**
74
74
 
75
75
  ```bash
76
- npx animotion-skills install --tier=agentic --agent=<your-agent> --license-key=YOUR_KEY
76
+ npx agentic-web-developer install --agent=<your-agent> --license-key=YOUR_KEY
77
77
 
78
78
  # or install for every detected agent at once:
79
- npx animotion-skills install --tier=agentic --all --license-key=YOUR_KEY
79
+ npx agentic-web-developer install --all --license-key=YOUR_KEY
80
80
  ```
81
81
 
82
82
  With **admin credentials instead of a license key** (Animotion staff / whitelisted emails only):
83
83
 
84
84
  ```bash
85
- npx animotion-skills install --tier=agentic --agent=<your-agent> --admin-email=you@example.com --admin-secret=YOUR_ADMIN_SECRET
85
+ npx agentic-web-developer install --agent=<your-agent> --admin-email=you@example.com --admin-secret=YOUR_ADMIN_SECRET
86
86
  ```
87
87
 
88
- `<your-agent>` is one of the [15 supported agents](#supported-agents) — `opencode`, `claude`, `copilot`, `cursor`, … This installs the AnimotionJS animation skill (you need it at Stage 8 anyway) **and** writes `animotion-config.json` next to it — the agentic-web-developer gate reads that file automatically, so nothing else to configure.
89
-
90
- > Note: this installer's `agentic` tier requires the **Studio plan** ($15/month). If you're on **Pro only** ($7/month), use options 2–4 below instead — the gate itself accepts any active Pro key.
88
+ `<your-agent>` is one of the [15 supported agents](#supported-agents) — `opencode`, `claude`, `copilot`, `cursor`, … The installer writes `animotion-config.json` into the installed skill folder with your key (or admin pair), and the gate reads that file automatically — nothing else to configure. The key must be on the **Pro plan** ($7/month) or higher.
91
89
 
92
90
  **2. Environment variable**
93
91
 
package/bin/install.js CHANGED
@@ -3,6 +3,7 @@
3
3
  * agentic-web-developer installer
4
4
  *
5
5
  * npx agentic-web-developer install [--agent=<key>|all] [--source=<url|path>] [--token=<key>]
6
+ * [--license-key=<key> | --admin-email=<e> --admin-secret=<s>]
6
7
  * [--force] [--dry-run] [--dir=<path>]
7
8
  * npx agentic-web-developer detect
8
9
  *
@@ -56,8 +57,8 @@ const AGENTS = {
56
57
  opencode: {
57
58
  name: "OpenCode",
58
59
  format: "skill",
59
- roots: [path.join(HOME, ".config", "opencode"), path.join(HOME, ".opencode")],
60
- dirs: [path.join(HOME, ".config", "opencode", "skills"), path.join(HOME, ".opencode", "skills")]
60
+ roots: [path.join(HOME, ".opencode"), path.join(HOME, ".config", "opencode")],
61
+ dirs: [path.join(HOME, ".opencode", "skills"), path.join(HOME, ".config", "opencode", "skills")]
61
62
  },
62
63
  claude: {
63
64
  name: "Claude Code",
@@ -246,6 +247,39 @@ function installPayload(payloadDir, skillDir) {
246
247
  copyRecursive(path.join(skillDir, "templates"), path.join(payloadDir, "templates"));
247
248
  }
248
249
 
250
+ /* ------------------------- license config (the gate) ----------------------- */
251
+
252
+ function licenseFlagsPresent() {
253
+ return Boolean(flags["license-key"] || flags["admin-email"] || flags["admin-secret"]);
254
+ }
255
+
256
+ function validateLicenseFlags() {
257
+ const key = flags["license-key"];
258
+ const adminEmail = flags["admin-email"];
259
+ const adminSecret = flags["admin-secret"];
260
+ if (key && (adminEmail || adminSecret)) {
261
+ throw new Error("--license-key cannot be combined with --admin-email/--admin-secret");
262
+ }
263
+ if ((adminEmail && !adminSecret) || (!adminEmail && adminSecret)) {
264
+ throw new Error("--admin-email and --admin-secret must be provided together");
265
+ }
266
+ }
267
+
268
+ // Writes animotion-config.json into the installed skill folder — the file the
269
+ // agentic-web-developer license gate reads (skill dir first, then its parent,
270
+ // ~/.animotion-skills/, AGENTIC_LICENSE_CONFIG).
271
+ function writeLicenseConfig(payloadDir) {
272
+ if (!licenseFlagsPresent()) return null;
273
+ const cfg = flags["admin-email"]
274
+ ? { tier: "pro", requiredPlan: "pro", authMethod: "admin", adminEmail: flags["admin-email"], adminSecret: flags["admin-secret"] }
275
+ : { tier: "pro", requiredPlan: "pro", authMethod: "license", licenseKey: flags["license-key"] };
276
+ const file = path.join(payloadDir, "animotion-config.json");
277
+ fs.mkdirSync(payloadDir, { recursive: true });
278
+ fs.writeFileSync(file, `${JSON.stringify(cfg, null, 2)}\n`);
279
+ try { fs.chmodSync(file, 0o600); } catch { /* best-effort; Windows ignores */ }
280
+ return file;
281
+ }
282
+
249
283
  /* ---------------- skill source resolution (private fetch) ---------------- */
250
284
 
251
285
  function expandHome(p) {
@@ -409,6 +443,7 @@ function detect() {
409
443
  }
410
444
 
411
445
  async function install() {
446
+ validateLicenseFlags();
412
447
  const skillDir = await resolveSource();
413
448
  const { body, description } = readSource(skillDir);
414
449
 
@@ -439,6 +474,7 @@ async function install() {
439
474
  console.log(`[dry-run] ${agent.name} (${key})`);
440
475
  console.log(` main: ${mainFile}`);
441
476
  console.log(` refs: ${payloadDir}{/references, /templates}`);
477
+ if (licenseFlagsPresent()) console.log(` lic: ${path.join(payloadDir, "animotion-config.json")}`);
442
478
  done++;
443
479
  continue;
444
480
  }
@@ -452,6 +488,8 @@ async function install() {
452
488
  }
453
489
  }
454
490
  console.log(`skip ${agent.name}: already installed at ${mainFile} (use --force to overwrite)`);
491
+ const existingCfg = writeLicenseConfig(payloadDir);
492
+ if (existingCfg) console.log(` license config: ${existingCfg}`);
455
493
  continue;
456
494
  }
457
495
 
@@ -471,15 +509,20 @@ async function install() {
471
509
  }
472
510
  fs.mkdirSync(path.dirname(mainFile), { recursive: true });
473
511
  fs.writeFileSync(mainFile, content);
512
+ const cfgFile = writeLicenseConfig(payloadDir);
474
513
  console.log(`installed ${agent.name} (${key})`);
475
514
  console.log(` main: ${mainFile}`);
476
515
  console.log(` refs: ${payloadDir}`);
516
+ if (cfgFile) console.log(` license config: ${cfgFile}`);
477
517
  done++;
478
518
  }
479
519
 
480
520
  if (!done) {
481
521
  console.log("nothing installed — everything already present (use --force to overwrite)");
482
522
  } else if (!flags["dry-run"]) {
523
+ if (licenseFlagsPresent()) {
524
+ console.log("\nLicense saved — the skill's gate reads animotion-config.json automatically.");
525
+ }
483
526
  console.log(`\nDone. Restart your AI agent so it loads ${SKILL_NAME}.`);
484
527
  console.log("Animations for any site built with this skill are handled by the AnimotionJS agentic skill:");
485
528
  console.log(" npx animotion-skills install --tier=agentic --agent=<agent> --license-key=YOUR_KEY");
@@ -520,6 +563,12 @@ Options:
520
563
  --source=<s> Skill source: a .tar.gz/.zip URL or a local folder/archive
521
564
  (falls back to AWD_SOURCE, then skill/, then awd.source)
522
565
  --token=<key> Auth token for a private source (or AWD_TOKEN=<key>)
566
+ --license-key=<key>
567
+ Save your Pro license key to the installed skill
568
+ (writes animotion-config.json the license gate reads)
569
+ --admin-email=<e> --admin-secret=<s>
570
+ Admin credentials instead of a key (Animotion staff /
571
+ whitelisted emails only — both flags required together)
523
572
  --force Overwrite an existing install
524
573
  --dry-run Print target paths without copying
525
574
  --dir=<path> Install into <path>/${SKILL_NAME} (flat, SKILL.md layout)
@@ -540,6 +589,7 @@ Each agent gets its own file format:
540
589
 
541
590
  Examples:
542
591
  npx ${SKILL_NAME} install # auto-detect agent
592
+ npx ${SKILL_NAME} install --agent=opencode --license-key=sec_live_xxxxxxxx
543
593
  npx ${SKILL_NAME} install --agent=all --source=https://you/server/skill.tar.gz --token=KEY
544
594
  npx ${SKILL_NAME} detect
545
595
  `);
package/docs/INSTALL.md CHANGED
@@ -10,8 +10,8 @@ The skill installs into **15 AI coding agents** — the same 15 the AnimotionJS
10
10
  # auto-detect your agent (opencode -> claude -> any detected agent)
11
11
  npx agentic-web-developer install
12
12
 
13
- # target one agent by key
14
- npx agentic-web-developer install --agent=claude
13
+ # target one agent by key, with your Pro license key saved during install
14
+ npx agentic-web-developer install --agent=claude --license-key=YOUR_KEY
15
15
 
16
16
  # install for every supported agent at once
17
17
  npx agentic-web-developer install --all
@@ -22,7 +22,7 @@ npx agentic-web-developer detect
22
22
 
23
23
  Then **restart your AI agent** so it loads the skill.
24
24
 
25
- > **License:** the skill is gated by the Animotion **Pro plan ($7/month)** — on first run it validates your key (or admin credentials) once per session before any work. Paying, downloading the files directly with a key, and wiring credentials up: **[LICENSING.md](LICENSING.md)**.
25
+ > **License:** the skill is gated by the Animotion **Pro plan ($7/month)** — on first run it validates your key (or admin credentials) once per session before any work. Pass `--license-key=…` (or `--admin-email` / `--admin-secret`) at install time to wire the credential up front. Paying and full credential setup: **[LICENSING.md](LICENSING.md)**.
26
26
 
27
27
  ### All flags
28
28
 
@@ -32,6 +32,8 @@ Then **restart your AI agent** so it loads the skill.
32
32
  | `--agent=all` / `--all` | Install for all 15 agents |
33
33
  | `--source=<url\|path>` | Skill source: a `.tar.gz`/`.zip` URL, or a local skill folder/archive |
34
34
  | `--token=<key>` | Auth token for a private source (else `AWD_TOKEN`) |
35
+ | `--license-key=<key>` | Save your Pro license key to the installed skill (`animotion-config.json` the gate reads) |
36
+ | `--admin-email=<e>` `--admin-secret=<s>` | Admin credentials instead of a key (staff/whitelisted — both required) |
35
37
  | `--force` | Overwrite an existing install |
36
38
  | `--dry-run` | Print the target paths without writing anything |
37
39
  | `--dir=<path>` | Install flat into `<path>/agentic-web-developer/` (SKILL.md layout) |
package/docs/LICENSING.md CHANGED
@@ -57,24 +57,22 @@ Other agents: change `DEST` (e.g. `~/.config/claude/skills/…` for Claude Code,
57
57
 
58
58
  Pick one — the skill's gate looks for environment variables first, then the installer's config file, then asks you once.
59
59
 
60
- **1. Install the AnimotionJS skill with your key (recommended — one command, everything wired)**
60
+ **1. Install the skill with your key (recommended — one command, everything wired)**
61
61
 
62
62
  ```bash
63
- npx animotion-skills install --tier=agentic --agent=<your-agent> --license-key=YOUR_KEY
63
+ npx agentic-web-developer install --agent=<your-agent> --license-key=YOUR_KEY
64
64
 
65
65
  # or install for every detected agent at once:
66
- npx animotion-skills install --tier=agentic --all --license-key=YOUR_KEY
66
+ npx agentic-web-developer install --all --license-key=YOUR_KEY
67
67
  ```
68
68
 
69
69
  With **admin credentials instead of a license key** (Animotion staff / whitelisted emails only):
70
70
 
71
71
  ```bash
72
- npx animotion-skills install --tier=agentic --agent=<your-agent> --admin-email=you@example.com --admin-secret=YOUR_ADMIN_SECRET
72
+ npx agentic-web-developer install --agent=<your-agent> --admin-email=you@example.com --admin-secret=YOUR_ADMIN_SECRET
73
73
  ```
74
74
 
75
- `<your-agent>` is one of the 15 supported agents (`opencode`, `claude`, `copilot`, `cursor`, … — full list in [INSTALL.md](INSTALL.md)). This installs the AnimotionJS animation skill (you need it at Stage 8 anyway) **and** writes `animotion-config.json` next to it — the agentic-web-developer gate reads that file automatically, so nothing else to configure.
76
-
77
- > Note: this installer's `agentic` tier requires the **Studio plan** ($15/month). On the **Pro plan** only ($7/month), use options 2–4 instead — the gate itself accepts any active Pro key.
75
+ `<your-agent>` is one of the 15 supported agents (`opencode`, `claude`, `copilot`, `cursor`, … — full list in [INSTALL.md](INSTALL.md)). The installer writes `animotion-config.json` into the installed skill folder with your key (or admin pair), and the gate reads that file automatically — nothing else to configure. The key must be on the **Pro plan** ($7/month) or higher.
78
76
 
79
77
  **2. Environment variable**
80
78
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-web-developer",
3
- "version": "1.0.2",
3
+ "version": "1.0.5",
4
4
  "description": "Agentic skill for building high-converting websites that sell — design DNA extraction, outlier competitor research, conversion blueprints, the M.O.N.E.Y sales framework, lead generation, cloning, outreach and deployment, with a novel-idea/product-launch mode. All animation work is delegated to the AnimotionJS agentic skill.",
5
5
  "keywords": [
6
6
  "opencode",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "license": "UNLICENSED",
37
37
  "awd": {
38
- "source": "https://4e2zaktqel.ucarecd.net/8bbedf86-8578-49c4-9477-0a5a685094af/skilltar.gz"
38
+ "source": "https://4e2zaktqel.ucarecd.net/f1600612-35fa-41cc-8fdc-d6997ef71ea4/skilltar.gz"
39
39
  },
40
40
  "publishConfig": {
41
41
  "access": "public"