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 +7 -9
- package/bin/install.js +52 -2
- package/docs/INSTALL.md +5 -3
- package/docs/LICENSING.md +5 -7
- package/package.json +2 -2
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 —
|
|
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
|
|
73
|
+
**1. Install the skill with your key (recommended — one command, everything wired)**
|
|
74
74
|
|
|
75
75
|
```bash
|
|
76
|
-
npx
|
|
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
|
|
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
|
|
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`, …
|
|
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, ".
|
|
60
|
-
dirs: [path.join(HOME, ".
|
|
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.
|
|
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
|
|
60
|
+
**1. Install the skill with your key (recommended — one command, everything wired)**
|
|
61
61
|
|
|
62
62
|
```bash
|
|
63
|
-
npx
|
|
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
|
|
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
|
|
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)).
|
|
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.
|
|
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/
|
|
38
|
+
"source": "https://4e2zaktqel.ucarecd.net/f1600612-35fa-41cc-8fdc-d6997ef71ea4/skilltar.gz"
|
|
39
39
|
},
|
|
40
40
|
"publishConfig": {
|
|
41
41
|
"access": "public"
|