@callmeradical/augy 0.8.2 → 0.8.3

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.
@@ -278,7 +278,7 @@ async function homePullCommand(opts = {}) {
278
278
  for (const sk of externalToInstall) filteredBundle.skills[sk.name] = sk.source;
279
279
  const tmpManifest = join(td(), `augy-home-pull-manifest-${Date.now()}.json`);
280
280
  await wf(tmpManifest, JSON.stringify(filteredBundle, null, 2) + "\n", "utf8");
281
- const { syncCommand } = await import("./sync-I3FTSC3I.js");
281
+ const { syncCommand } = await import("./sync-AJDY2EX2.js");
282
282
  await syncCommand(tmpManifest, { ...opts, agent: targetAgents.map((a) => a.id) });
283
283
  }
284
284
  }
package/dist/index.js CHANGED
@@ -13,9 +13,9 @@ program.command("install [url]").description("Install skills from a GitHub URL o
13
13
  const { installCommand } = await import("./install-WLEVFJFD.js");
14
14
  await installCommand(url, opts ?? {});
15
15
  });
16
- program.command("update [skill]").description("Check for upstream changes and upgrade installed skills").action(async (skill) => {
17
- const { updateCommand } = await import("./update-OWAEIRRT.js");
18
- await updateCommand(skill);
16
+ program.command("update [skill]").description("Check for upstream changes and upgrade installed skills").option("--all", "Upgrade all available updates without prompting (CI-friendly)").action(async (skill, opts) => {
17
+ const { updateCommand } = await import("./update-SGCPFSNT.js");
18
+ await updateCommand(skill, opts ?? {});
19
19
  });
20
20
  program.command("list").description("Show all installed skills with version + agent info").option("--json", "Output raw JSON registry").action(async (opts) => {
21
21
  const { listCommand } = await import("./list-MJUAPNMU.js");
@@ -31,8 +31,8 @@ program.command("bundle").description("Write an augy.json manifest from installe
31
31
  const { bundleCommand } = await import("./bundle-4D3RXVJZ.js");
32
32
  await bundleCommand(opts);
33
33
  });
34
- program.command("sync [path]").description("Install/update skills from an augy.json manifest (default: ./augy.json)").option("--dry-run", "Preview changes without applying them").option("-a, --agent <agents...>", "Target agent(s) (default: all detected)").action(async (path, opts) => {
35
- const { syncCommand } = await import("./sync-I3FTSC3I.js");
34
+ program.command("sync [path]").description("Install/update skills from an augy.json manifest (default: ./augy.json)").option("--dry-run", "Preview changes without applying them").option("-a, --agent <agents...>", "Target agent(s) (default: all detected)").option("--yes", "Apply changes without confirmation prompt (CI-friendly)").action(async (path, opts) => {
35
+ const { syncCommand } = await import("./sync-AJDY2EX2.js");
36
36
  await syncCommand(path, opts ?? {});
37
37
  });
38
38
  program.command("scan").description("Find skills installed outside augy and optionally import them into the registry").action(async () => {
@@ -115,19 +115,19 @@ author.command("edit <name>").description("Open an existing skill in $EDITOR").a
115
115
  });
116
116
  var home = program.command("home").description("Manage a personal GitHub repo for backing up your skills manifest");
117
117
  home.command("set <repo>").description("Set the home repo e.g. augy home set alice/my-skills").option("--path <file>", "Manifest path within the repo (default: augy.json)").option("--skills-path <dir>", "Dir for authored skills in the repo (default: skills)").action(async (repo, opts) => {
118
- const { homeSetCommand } = await import("./home-4YAHJIJL.js");
118
+ const { homeSetCommand } = await import("./home-DWOIASDF.js");
119
119
  await homeSetCommand(repo, opts);
120
120
  });
121
121
  home.command("push").description("Push your installed skills manifest to the home repo").action(async () => {
122
- const { homePushCommand } = await import("./home-4YAHJIJL.js");
122
+ const { homePushCommand } = await import("./home-DWOIASDF.js");
123
123
  await homePushCommand();
124
124
  });
125
125
  home.command("pull").description("Fetch the manifest from the home repo and sync skills").option("--dry-run", "Preview changes without applying them").option("-a, --agent <agents...>", "Target agent(s) (default: all detected)").option("--context <ctx>", "Pre-select only skills matching this context (e.g. work, personal)").action(async (opts) => {
126
- const { homePullCommand } = await import("./home-4YAHJIJL.js");
126
+ const { homePullCommand } = await import("./home-DWOIASDF.js");
127
127
  await homePullCommand(opts);
128
128
  });
129
129
  home.command("show").description("Show the current home repo configuration").action(async () => {
130
- const { homeShowCommand } = await import("./home-4YAHJIJL.js");
130
+ const { homeShowCommand } = await import("./home-DWOIASDF.js");
131
131
  await homeShowCommand();
132
132
  });
133
133
  program.action(async () => {
@@ -136,12 +136,14 @@ async function syncCommand(pathArg, opts = {}) {
136
136
  return;
137
137
  }
138
138
  const actionCount = toInstall.length + toUpgrade.length;
139
- const ok = await confirm({
140
- message: `Apply ${actionCount} change(s) to ${targetAgents.map((a) => a.name).join(", ")}?`
141
- });
142
- if (isCancel(ok) || !ok) {
143
- console.log(chalk.dim("Cancelled."));
144
- process.exit(0);
139
+ if (!opts.yes) {
140
+ const ok = await confirm({
141
+ message: `Apply ${actionCount} change(s) to ${targetAgents.map((a) => a.name).join(", ")}?`
142
+ });
143
+ if (isCancel(ok) || !ok) {
144
+ console.log(chalk.dim("Cancelled."));
145
+ process.exit(0);
146
+ }
145
147
  }
146
148
  for (const entry of [...toInstall, ...toUpgrade]) {
147
149
  const s2 = spinner();
@@ -21,7 +21,7 @@ import {
21
21
  import { cancel, confirm, intro, isCancel, multiselect, outro, spinner } from "@clack/prompts";
22
22
  import chalk from "chalk";
23
23
  import { mkdir, rm } from "fs/promises";
24
- async function updateCommand(nameArg) {
24
+ async function updateCommand(nameArg, opts = {}) {
25
25
  intro(chalk.bold("augy") + chalk.dim(" \u2014 update"));
26
26
  const registry = await readRegistry();
27
27
  let skills = listSkills(registry);
@@ -109,15 +109,23 @@ ${chalk.bold(String(candidates.length))} skill(s) have updates available:
109
109
  );
110
110
  }
111
111
  console.log();
112
- const toUpdate = candidates.length === 1 ? candidates : await promptUpdateSelection(candidates);
113
- if (isCancel(toUpdate) || !toUpdate.length) {
114
- cancel("Update cancelled");
115
- process.exit(0);
116
- }
117
- const ok = await confirm({ message: `Upgrade ${toUpdate.length} skill(s)?` });
118
- if (isCancel(ok) || !ok) {
119
- cancel("Update cancelled");
120
- process.exit(0);
112
+ let toUpdate;
113
+ if (opts.all) {
114
+ toUpdate = candidates;
115
+ console.log(chalk.dim(` Upgrading all ${candidates.length} skill(s) (--all)\u2026
116
+ `));
117
+ } else {
118
+ const selected = candidates.length === 1 ? candidates : await promptUpdateSelection(candidates);
119
+ if (isCancel(selected) || !selected.length) {
120
+ cancel("Update cancelled");
121
+ process.exit(0);
122
+ }
123
+ toUpdate = selected;
124
+ const ok = await confirm({ message: `Upgrade ${toUpdate.length} skill(s)?` });
125
+ if (isCancel(ok) || !ok) {
126
+ cancel("Update cancelled");
127
+ process.exit(0);
128
+ }
121
129
  }
122
130
  for (const candidate of toUpdate) {
123
131
  const { skill, remoteSha, remoteShortSha, gigetSource } = candidate;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@callmeradical/augy",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
4
  "description": "Homebrew for AI agent skills — install, version, update, rollback",
5
5
  "type": "module",
6
6
  "license": "MIT",