@callmeradical/augy 0.7.1 → 0.8.0

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.
@@ -9,7 +9,7 @@ import {
9
9
  readRegistry,
10
10
  upsertSkill,
11
11
  writeRegistry
12
- } from "./chunk-IORULLX5.js";
12
+ } from "./chunk-IBMRS66P.js";
13
13
 
14
14
  // src/commands/author.ts
15
15
  import { intro, outro, multiselect, isCancel } from "@clack/prompts";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  listSkills,
3
3
  readRegistry
4
- } from "./chunk-IORULLX5.js";
4
+ } from "./chunk-IBMRS66P.js";
5
5
 
6
6
  // src/commands/bundle.ts
7
7
  import { outro, spinner } from "@clack/prompts";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  versionArchivePath
3
- } from "./chunk-IORULLX5.js";
3
+ } from "./chunk-IBMRS66P.js";
4
4
 
5
5
  // src/versions.ts
6
6
  import { cp, mkdir, rm } from "fs/promises";
@@ -32,7 +32,7 @@ Archive path: ${src}`
32
32
  }
33
33
  async function pruneVersions(skillName, keepShas = []) {
34
34
  const { join } = await import("path");
35
- const { versionArchivePath: archivePath, versionsDir } = await import("./registry-KMUHBN75.js");
35
+ const { versionArchivePath: archivePath, versionsDir } = await import("./registry-RU24Z5UO.js");
36
36
  const skillVersionsDir = join(versionsDir(), skillName);
37
37
  if (!existsSync(skillVersionsDir)) return;
38
38
  const { readdir } = await import("fs/promises");
@@ -112,6 +112,12 @@ function addTap(registry, tap) {
112
112
  function removeTap(registry, key) {
113
113
  delete registry.taps[key];
114
114
  }
115
+ function getMachineContext(registry) {
116
+ return registry.machineContext;
117
+ }
118
+ function setMachineContext(registry, context) {
119
+ registry.machineContext = context;
120
+ }
115
121
  function skillMatchesContext(skillContexts, filter) {
116
122
  if (!filter) return true;
117
123
  if (!skillContexts || skillContexts.length === 0) return true;
@@ -145,6 +151,8 @@ export {
145
151
  listTaps,
146
152
  addTap,
147
153
  removeTap,
154
+ getMachineContext,
155
+ setMachineContext,
148
156
  skillMatchesContext,
149
157
  getHomeConfig,
150
158
  setHomeConfig
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  listTaps,
7
7
  tapKey
8
- } from "./chunk-IORULLX5.js";
8
+ } from "./chunk-IBMRS66P.js";
9
9
 
10
10
  // src/taps.ts
11
11
  async function searchTaps(registry, query) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  __commonJS,
3
3
  __toESM
4
- } from "./chunk-IORULLX5.js";
4
+ } from "./chunk-IBMRS66P.js";
5
5
 
6
6
  // node_modules/sisteransi/src/index.js
7
7
  var require_src = __commonJS({
@@ -0,0 +1,34 @@
1
+ import {
2
+ getMachineContext,
3
+ readRegistry,
4
+ setMachineContext,
5
+ writeRegistry
6
+ } from "./chunk-IBMRS66P.js";
7
+
8
+ // src/commands/context.ts
9
+ import chalk from "chalk";
10
+ async function contextSetCommand(ctx) {
11
+ const registry = await readRegistry();
12
+ setMachineContext(registry, ctx);
13
+ await writeRegistry(registry);
14
+ if (ctx) {
15
+ console.log(`${chalk.bold("Machine context")} set to ${chalk.cyan(ctx)}`);
16
+ console.log(chalk.dim(" `augy home pull` will now pre-select skills tagged " + ctx + " or universal."));
17
+ } else {
18
+ console.log(chalk.dim("Machine context cleared \u2014 `augy home pull` will pre-select all skills."));
19
+ }
20
+ }
21
+ async function contextShowCommand() {
22
+ const registry = await readRegistry();
23
+ const ctx = getMachineContext(registry);
24
+ if (ctx) {
25
+ console.log(`${chalk.bold("Machine context:")} ${chalk.cyan(ctx)}`);
26
+ } else {
27
+ console.log(chalk.dim("No machine context set."));
28
+ console.log(chalk.dim("Run `augy context set <ctx>` to set one (e.g. work, personal)."));
29
+ }
30
+ }
31
+ export {
32
+ contextSetCommand,
33
+ contextShowCommand
34
+ };
@@ -4,13 +4,13 @@ import {
4
4
  } from "./chunk-2E5SVRSR.js";
5
5
  import {
6
6
  archiveExists
7
- } from "./chunk-UJBZ6OAP.js";
7
+ } from "./chunk-G7WKOGAS.js";
8
8
  import {
9
9
  getSkill,
10
10
  readRegistry,
11
11
  shortSha,
12
12
  versionArchivePath
13
- } from "./chunk-IORULLX5.js";
13
+ } from "./chunk-IBMRS66P.js";
14
14
 
15
15
  // src/commands/diff.ts
16
16
  import { cancel, intro, isCancel, outro, select, spinner } from "@clack/prompts";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  filterableMultiselect
3
- } from "./chunk-DFZHSX3M.js";
3
+ } from "./chunk-XUQJ2VKV.js";
4
4
  import {
5
5
  AGENTS,
6
6
  agentSkillPath,
@@ -9,13 +9,14 @@ import {
9
9
  import {
10
10
  createSkillRecord,
11
11
  getHomeConfig,
12
+ getMachineContext,
12
13
  listSkills,
13
14
  readRegistry,
14
15
  setHomeConfig,
15
16
  skillMatchesContext,
16
17
  upsertSkill,
17
18
  writeRegistry
18
- } from "./chunk-IORULLX5.js";
19
+ } from "./chunk-IBMRS66P.js";
19
20
 
20
21
  // src/commands/home.ts
21
22
  import { intro, isCancel, multiselect, outro, spinner } from "@clack/prompts";
@@ -116,6 +117,10 @@ async function homePushCommand() {
116
117
  for (const skill of authored) {
117
118
  bundle.skills[skill.name] = "";
118
119
  }
120
+ const contextEntries = allSkills.filter((s3) => s3.contexts && s3.contexts.length > 0).map((s3) => [s3.name, s3.contexts]);
121
+ if (contextEntries.length) {
122
+ bundle.contexts = Object.fromEntries(contextEntries);
123
+ }
119
124
  await writeFile(
120
125
  join(cloneDir, home.path),
121
126
  JSON.stringify(bundle, null, 2) + "\n",
@@ -126,12 +131,24 @@ async function homePushCommand() {
126
131
  await gitAddAll(cloneDir);
127
132
  const skillCount = allSkills.length;
128
133
  const authoredNote = authored.length ? ` (${authored.length} authored)` : "";
129
- await gitCommit(cloneDir, `chore: update skills via augy \u2014 ${skillCount} skill(s)${authoredNote}`);
130
- await gitPush(cloneDir);
134
+ let pushed = false;
135
+ try {
136
+ await gitCommit(cloneDir, `chore: update skills via augy \u2014 ${skillCount} skill(s)${authoredNote}`);
137
+ await gitPush(cloneDir);
138
+ pushed = true;
139
+ s2.stop(`${chalk.green("\u2713")} Pushed`);
140
+ } catch (err) {
141
+ const msg = String(err);
142
+ if (msg.includes("nothing to commit") || msg.includes("nothing added to commit")) {
143
+ s2.stop(chalk.dim("Nothing changed \u2014 home repo is already up to date"));
144
+ } else {
145
+ s2.stop(chalk.red("\u2717 Push failed"));
146
+ throw err;
147
+ }
148
+ }
131
149
  outro(
132
- `${chalk.bold(String(skillCount))} skill(s) saved to ${chalk.cyan(home.repo)}
133
- ` + (authored.length ? chalk.dim(` ${authored.length} authored skill(s) committed + source registered
134
- `) : "") + chalk.dim(` Run \`augy home pull\` on a new machine to restore.`)
150
+ pushed ? `${chalk.bold(String(skillCount))} skill(s) saved to ${chalk.cyan(home.repo)}
151
+ ` + chalk.dim(` Run \`augy home pull\` on a new machine to restore.`) : chalk.dim("Home repo is up to date \u2014 no changes to push.")
135
152
  );
136
153
  }
137
154
  async function homePullCommand(opts = {}) {
@@ -155,10 +172,12 @@ async function homePullCommand(opts = {}) {
155
172
  if (e.isDirectory()) available.push({ name: e.name, source: "", isAuthored: true });
156
173
  }
157
174
  }
175
+ let bundleContexts = {};
158
176
  const manifestPath = join(cloneDir, home.path);
159
177
  if (existsSync(manifestPath)) {
160
178
  const { readFile } = await import("fs/promises");
161
179
  const bundle = JSON.parse(await readFile(manifestPath, "utf8"));
180
+ bundleContexts = bundle.contexts ?? {};
162
181
  for (const [name, source] of Object.entries(bundle.skills)) {
163
182
  if (source && !available.find((s2) => s2.name === name)) {
164
183
  available.push({ name, source, isAuthored: false });
@@ -170,12 +189,12 @@ async function homePullCommand(opts = {}) {
170
189
  return;
171
190
  }
172
191
  const currentRegistry = await readRegistry();
192
+ const effectiveContext = opts.context ?? getMachineContext(currentRegistry);
173
193
  const selected = await filterableMultiselect({
174
- message: `Select skills to install ${chalk.dim(`(${available.length} available)`)}`,
194
+ message: `Select skills to install ${chalk.dim(`(${available.length} available)`)}` + (effectiveContext ? chalk.dim(` [context: ${effectiveContext}]`) : ""),
175
195
  options: available.map((sk) => {
176
- const record = currentRegistry.skills[sk.name];
177
- const contexts = record?.contexts ?? [];
178
- const matches = skillMatchesContext(contexts, opts.context);
196
+ const contexts = bundleContexts[sk.name] ?? currentRegistry.skills[sk.name]?.contexts ?? [];
197
+ const matches = skillMatchesContext(contexts, effectiveContext);
179
198
  const ctxHint = contexts.length ? chalk.dim(contexts.join(", ")) : "";
180
199
  const srcHint = sk.isAuthored ? chalk.dim("authored") : chalk.dim(sk.source);
181
200
  return {
@@ -233,6 +252,7 @@ async function homePullCommand(opts = {}) {
233
252
  agentIds: targetAgents.map((a) => a.id),
234
253
  agentPaths
235
254
  });
255
+ if (bundleContexts[sk.name]) record.contexts = bundleContexts[sk.name];
236
256
  upsertSkill(registry, record);
237
257
  }
238
258
  if (authoredToInstall.length) await writeRegistry(registry);
@@ -246,7 +266,7 @@ async function homePullCommand(opts = {}) {
246
266
  for (const sk of externalToInstall) filteredBundle.skills[sk.name] = sk.source;
247
267
  const tmpManifest = join(td(), `augy-home-pull-manifest-${Date.now()}.json`);
248
268
  await wf(tmpManifest, JSON.stringify(filteredBundle, null, 2) + "\n", "utf8");
249
- const { syncCommand } = await import("./sync-4EKWA3IM.js");
269
+ const { syncCommand } = await import("./sync-I3FTSC3I.js");
250
270
  await syncCommand(tmpManifest, { ...opts, agent: targetAgents.map((a) => a.id) });
251
271
  }
252
272
  }
package/dist/index.js CHANGED
@@ -10,66 +10,66 @@ var pkg = JSON.parse(readFileSync(join(__dirname, "..", "package.json"), "utf8")
10
10
  var program = new Command();
11
11
  program.name("augy").description("Homebrew for AI agent skills \u2014 install, version, update, rollback").version(pkg.version);
12
12
  program.command("install [url]").description("Install skills from a GitHub URL or owner/repo[/path]").option("-a, --agent <agents...>", "Target agent(s): opencode, claude, codex").action(async (url, opts) => {
13
- const { installCommand } = await import("./install-4CHE2OFV.js");
13
+ const { installCommand } = await import("./install-WLEVFJFD.js");
14
14
  await installCommand(url, opts ?? {});
15
15
  });
16
16
  program.command("update [skill]").description("Check for upstream changes and upgrade installed skills").action(async (skill) => {
17
- const { updateCommand } = await import("./update-GAPWQHVH.js");
17
+ const { updateCommand } = await import("./update-XHOICFKF.js");
18
18
  await updateCommand(skill);
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
- const { listCommand } = await import("./list-3RZJGXTD.js");
21
+ const { listCommand } = await import("./list-MJUAPNMU.js");
22
22
  await listCommand(opts ?? {});
23
23
  });
24
24
  program.command("diff <skill> [sha1] [sha2]").description(
25
25
  "Browse file-level diffs for a skill\n augy diff <skill> installed \u2194 upstream HEAD\n augy diff <skill> <sha> installed \u2194 specific SHA (archive or GitHub)\n augy diff <skill> <sha1> <sha2> two local archives side-by-side"
26
26
  ).action(async (skill, sha1, sha2) => {
27
- const { diffCommand } = await import("./diff-EAGTGQYC.js");
27
+ const { diffCommand } = await import("./diff-YDRQ43TJ.js");
28
28
  await diffCommand(skill, sha1, sha2);
29
29
  });
30
30
  program.command("bundle").description("Write an augy.json manifest from installed skills for team sharing").option("-o, --output <path>", "Output path (default: ./augy.json)").option("--include-untracked", "Include skills without a known source").action(async (opts) => {
31
- const { bundleCommand } = await import("./bundle-ESWO4DCZ.js");
31
+ const { bundleCommand } = await import("./bundle-4D3RXVJZ.js");
32
32
  await bundleCommand(opts);
33
33
  });
34
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-4EKWA3IM.js");
35
+ const { syncCommand } = await import("./sync-I3FTSC3I.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 () => {
39
- const { scanCommand } = await import("./scan-YZ2PPABF.js");
39
+ const { scanCommand } = await import("./scan-JJIQ4BM7.js");
40
40
  await scanCommand();
41
41
  });
42
42
  program.command("info <skill>").description("Show full metadata, version history, and description for an installed skill").action(async (skill) => {
43
- const { infoCommand } = await import("./info-7DPMSTVU.js");
43
+ const { infoCommand } = await import("./info-VIYGVJD6.js");
44
44
  await infoCommand(skill);
45
45
  });
46
46
  program.command("search [query]").description("Search all taps for available skills (optionally filter by name)").action(async (query) => {
47
- const { searchCommand } = await import("./search-H2G7PH7R.js");
47
+ const { searchCommand } = await import("./search-AO7VHE5K.js");
48
48
  await searchCommand(query);
49
49
  });
50
50
  var tap = program.command("tap").description("Manage trusted repos (taps) for skill name resolution");
51
51
  tap.command("add <repo>").description("Register a tap e.g. augy tap add owner/repo").option("--path <skills-dir>", "Subdirectory where skills live (default: skills)").option("--description <text>", "Optional description").action(async (repo, opts) => {
52
- const { tapAddCommand } = await import("./tap-KS57GF5M.js");
52
+ const { tapAddCommand } = await import("./tap-3G3U5UXL.js");
53
53
  await tapAddCommand(repo, opts);
54
54
  });
55
55
  tap.command("remove <repo>").description("Unregister a tap").action(async (repo) => {
56
- const { tapRemoveCommand } = await import("./tap-KS57GF5M.js");
56
+ const { tapRemoveCommand } = await import("./tap-3G3U5UXL.js");
57
57
  await tapRemoveCommand(repo);
58
58
  });
59
59
  tap.command("list").description("List all registered taps").action(async () => {
60
- const { tapListCommand } = await import("./tap-KS57GF5M.js");
60
+ const { tapListCommand } = await import("./tap-3G3U5UXL.js");
61
61
  await tapListCommand();
62
62
  });
63
63
  program.command("set-source <skill> <url>").description("Attach a GitHub source URL to a skill imported without one").action(async (skill, url) => {
64
- const { setSourceCommand } = await import("./set-source-5PSSVVZ2.js");
64
+ const { setSourceCommand } = await import("./set-source-CGLGCKOD.js");
65
65
  await setSourceCommand(skill, url);
66
66
  });
67
67
  program.command("uninstall <skill>").description("Remove a skill from all agent paths and the registry").action(async (skill) => {
68
- const { uninstallCommand } = await import("./uninstall-PZ5AP4MP.js");
68
+ const { uninstallCommand } = await import("./uninstall-6R7A5HOZ.js");
69
69
  await uninstallCommand(skill);
70
70
  });
71
71
  program.command("rollback <skill> [sha]").description("Restore a skill to a previous archived version").action(async (skill, sha) => {
72
- const { rollbackCommand } = await import("./rollback-AZTJTYLL.js");
72
+ const { rollbackCommand } = await import("./rollback-I5FAGN6J.js");
73
73
  await rollbackCommand(skill, sha);
74
74
  });
75
75
  program.command("pin <skill>").description("Pin a skill so it is skipped during `augy update`").action(async (skill) => {
@@ -78,53 +78,66 @@ program.command("pin <skill>").description("Pin a skill so it is skipped during
78
78
  program.command("unpin <skill>").description("Allow a pinned skill to receive updates again").action(async (skill) => {
79
79
  await setPinned(skill, false);
80
80
  });
81
+ var ctx = program.command("context").description("Set or show this machine's context (work / personal / custom)");
82
+ ctx.command("set <context>").description("Mark this machine's context e.g. augy context set work").action(async (context) => {
83
+ const { contextSetCommand } = await import("./context-2UJB5RLD.js");
84
+ await contextSetCommand(context);
85
+ });
86
+ ctx.command("show").description("Show the current machine context").action(async () => {
87
+ const { contextShowCommand } = await import("./context-2UJB5RLD.js");
88
+ await contextShowCommand();
89
+ });
90
+ ctx.command("clear").description("Remove the machine context").action(async () => {
91
+ const { contextSetCommand } = await import("./context-2UJB5RLD.js");
92
+ await contextSetCommand(void 0);
93
+ });
81
94
  var tag = program.command("tag").description("Manage skill context tags (personal / work / universal / custom)");
82
95
  tag.command("set <skill> [contexts...]").description("Set context tags on a skill e.g. augy tag set tdd work universal").action(async (skill, contexts) => {
83
- const { tagSetCommand } = await import("./tag-DAWGOKEO.js");
96
+ const { tagSetCommand } = await import("./tag-4FCN7T62.js");
84
97
  await tagSetCommand(skill, contexts ?? []);
85
98
  });
86
99
  tag.command("show <skill>").description("Show current context tags for a skill").action(async (skill) => {
87
- const { tagShowCommand } = await import("./tag-DAWGOKEO.js");
100
+ const { tagShowCommand } = await import("./tag-4FCN7T62.js");
88
101
  await tagShowCommand(skill);
89
102
  });
90
103
  tag.command("migrate").description("Interactively assign context tags to all untagged skills").action(async () => {
91
- const { tagMigrateCommand } = await import("./tag-DAWGOKEO.js");
104
+ const { tagMigrateCommand } = await import("./tag-4FCN7T62.js");
92
105
  await tagMigrateCommand();
93
106
  });
94
107
  var author = program.command("author").description("Create and edit self-authored skills");
95
108
  author.command("new <name>").description("Scaffold a new skill and open it in $EDITOR").option("--no-edit", "Skip opening the editor after creating").action(async (name, opts) => {
96
- const { authorNewCommand } = await import("./author-W7UKRDYO.js");
109
+ const { authorNewCommand } = await import("./author-MZWTET4S.js");
97
110
  await authorNewCommand(name, { noEdit: !opts.edit });
98
111
  });
99
112
  author.command("edit <name>").description("Open an existing skill in $EDITOR").action(async (name) => {
100
- const { authorEditCommand } = await import("./author-W7UKRDYO.js");
113
+ const { authorEditCommand } = await import("./author-MZWTET4S.js");
101
114
  await authorEditCommand(name);
102
115
  });
103
116
  var home = program.command("home").description("Manage a personal GitHub repo for backing up your skills manifest");
104
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) => {
105
- const { homeSetCommand } = await import("./home-TCFEQEXO.js");
118
+ const { homeSetCommand } = await import("./home-3M23O6LH.js");
106
119
  await homeSetCommand(repo, opts);
107
120
  });
108
121
  home.command("push").description("Push your installed skills manifest to the home repo").action(async () => {
109
- const { homePushCommand } = await import("./home-TCFEQEXO.js");
122
+ const { homePushCommand } = await import("./home-3M23O6LH.js");
110
123
  await homePushCommand();
111
124
  });
112
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) => {
113
- const { homePullCommand } = await import("./home-TCFEQEXO.js");
126
+ const { homePullCommand } = await import("./home-3M23O6LH.js");
114
127
  await homePullCommand(opts);
115
128
  });
116
129
  home.command("show").description("Show the current home repo configuration").action(async () => {
117
- const { homeShowCommand } = await import("./home-TCFEQEXO.js");
130
+ const { homeShowCommand } = await import("./home-3M23O6LH.js");
118
131
  await homeShowCommand();
119
132
  });
120
133
  program.action(async () => {
121
- const { installCommand } = await import("./install-4CHE2OFV.js");
134
+ const { installCommand } = await import("./install-WLEVFJFD.js");
122
135
  await installCommand();
123
136
  });
124
137
  program.parse();
125
138
  async function setPinned(skillName, pinned) {
126
139
  const chalk = (await import("chalk")).default;
127
- const { readRegistry, writeRegistry, getSkill } = await import("./registry-KMUHBN75.js");
140
+ const { readRegistry, writeRegistry, getSkill } = await import("./registry-RU24Z5UO.js");
128
141
  const registry = await readRegistry();
129
142
  const skill = getSkill(registry, skillName);
130
143
  if (!skill) {
@@ -3,12 +3,12 @@ import {
3
3
  } from "./chunk-V5GA2ZHU.js";
4
4
  import {
5
5
  archiveExists
6
- } from "./chunk-UJBZ6OAP.js";
6
+ } from "./chunk-G7WKOGAS.js";
7
7
  import {
8
8
  getSkill,
9
9
  readRegistry,
10
10
  shortSha
11
- } from "./chunk-IORULLX5.js";
11
+ } from "./chunk-IBMRS66P.js";
12
12
 
13
13
  // src/commands/info.ts
14
14
  import chalk from "chalk";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  filterableMultiselect
3
- } from "./chunk-DFZHSX3M.js";
3
+ } from "./chunk-XUQJ2VKV.js";
4
4
  import {
5
5
  resolveSkillFromTaps
6
- } from "./chunk-HKE4L4SD.js";
6
+ } from "./chunk-X23LB7YS.js";
7
7
  import {
8
8
  AGENTS,
9
9
  agentSkillPath,
@@ -20,7 +20,7 @@ import {
20
20
  readRegistry,
21
21
  shortSha,
22
22
  writeRegistry
23
- } from "./chunk-IORULLX5.js";
23
+ } from "./chunk-IBMRS66P.js";
24
24
 
25
25
  // src/commands/install.ts
26
26
  import {
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  listSkills,
6
6
  readRegistry
7
- } from "./chunk-IORULLX5.js";
7
+ } from "./chunk-IBMRS66P.js";
8
8
 
9
9
  // src/commands/list.ts
10
10
  import chalk from "chalk";
@@ -3,6 +3,7 @@ import {
3
3
  augyHome,
4
4
  createSkillRecord,
5
5
  getHomeConfig,
6
+ getMachineContext,
6
7
  getSkill,
7
8
  getTap,
8
9
  listSkills,
@@ -12,6 +13,7 @@ import {
12
13
  removeSkill,
13
14
  removeTap,
14
15
  setHomeConfig,
16
+ setMachineContext,
15
17
  shortSha,
16
18
  skillMatchesContext,
17
19
  tapKey,
@@ -19,12 +21,13 @@ import {
19
21
  versionArchivePath,
20
22
  versionsDir,
21
23
  writeRegistry
22
- } from "./chunk-IORULLX5.js";
24
+ } from "./chunk-IBMRS66P.js";
23
25
  export {
24
26
  addTap,
25
27
  augyHome,
26
28
  createSkillRecord,
27
29
  getHomeConfig,
30
+ getMachineContext,
28
31
  getSkill,
29
32
  getTap,
30
33
  listSkills,
@@ -34,6 +37,7 @@ export {
34
37
  removeSkill,
35
38
  removeTap,
36
39
  setHomeConfig,
40
+ setMachineContext,
37
41
  shortSha,
38
42
  skillMatchesContext,
39
43
  tapKey,
@@ -5,13 +5,13 @@ import {
5
5
  import {
6
6
  archiveExists,
7
7
  restoreVersion
8
- } from "./chunk-UJBZ6OAP.js";
8
+ } from "./chunk-G7WKOGAS.js";
9
9
  import {
10
10
  getSkill,
11
11
  readRegistry,
12
12
  shortSha,
13
13
  writeRegistry
14
- } from "./chunk-IORULLX5.js";
14
+ } from "./chunk-IBMRS66P.js";
15
15
 
16
16
  // src/commands/rollback.ts
17
17
  import { cancel, intro, isCancel, outro, select, spinner } from "@clack/prompts";
@@ -74,7 +74,7 @@ The snapshot may have been pruned.`
74
74
  try {
75
75
  const currentDest = destPaths[0];
76
76
  if (currentDest) {
77
- const { archiveVersion } = await import("./versions-33GF7UP5.js");
77
+ const { archiveVersion } = await import("./versions-SSRDVQ3G.js");
78
78
  await archiveVersion(currentDest, nameArg, skill.sha);
79
79
  }
80
80
  await restoreVersion(nameArg, targetSha, destPaths);
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-KCQY4IDO.js";
5
5
  import {
6
6
  filterableMultiselect
7
- } from "./chunk-DFZHSX3M.js";
7
+ } from "./chunk-XUQJ2VKV.js";
8
8
  import {
9
9
  resolveSkillFromTaps
10
- } from "./chunk-HKE4L4SD.js";
10
+ } from "./chunk-X23LB7YS.js";
11
11
  import {
12
12
  AGENTS
13
13
  } from "./chunk-V5GA2ZHU.js";
@@ -22,7 +22,7 @@ import {
22
22
  readRegistry,
23
23
  shortSha,
24
24
  writeRegistry
25
- } from "./chunk-IORULLX5.js";
25
+ } from "./chunk-IBMRS66P.js";
26
26
 
27
27
  // src/commands/scan.ts
28
28
  import { readdir, readFile } from "fs/promises";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  searchTaps
3
- } from "./chunk-HKE4L4SD.js";
3
+ } from "./chunk-X23LB7YS.js";
4
4
  import "./chunk-2E5SVRSR.js";
5
5
  import {
6
6
  listSkills,
7
7
  readRegistry,
8
8
  shortSha
9
- } from "./chunk-IORULLX5.js";
9
+ } from "./chunk-IBMRS66P.js";
10
10
 
11
11
  // src/commands/search.ts
12
12
  import { spinner } from "@clack/prompts";
@@ -11,7 +11,7 @@ import {
11
11
  readRegistry,
12
12
  shortSha,
13
13
  writeRegistry
14
- } from "./chunk-IORULLX5.js";
14
+ } from "./chunk-IBMRS66P.js";
15
15
 
16
16
  // src/commands/set-source.ts
17
17
  import { cancel, intro, outro, spinner } from "@clack/prompts";
@@ -15,7 +15,7 @@ import {
15
15
  readRegistry,
16
16
  shortSha,
17
17
  writeRegistry
18
- } from "./chunk-IORULLX5.js";
18
+ } from "./chunk-IBMRS66P.js";
19
19
 
20
20
  // src/commands/sync.ts
21
21
  import {
@@ -3,7 +3,7 @@ import {
3
3
  listSkills,
4
4
  readRegistry,
5
5
  writeRegistry
6
- } from "./chunk-IORULLX5.js";
6
+ } from "./chunk-IBMRS66P.js";
7
7
 
8
8
  // src/commands/tag.ts
9
9
  import { intro, isCancel, multiselect, note, outro } from "@clack/prompts";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  parseTapArg,
3
3
  tapSource
4
- } from "./chunk-HKE4L4SD.js";
4
+ } from "./chunk-X23LB7YS.js";
5
5
  import {
6
6
  discoverSkills,
7
7
  parseGitHubUrl
@@ -13,7 +13,7 @@ import {
13
13
  removeTap,
14
14
  tapKey,
15
15
  writeRegistry
16
- } from "./chunk-IORULLX5.js";
16
+ } from "./chunk-IBMRS66P.js";
17
17
 
18
18
  // src/commands/tap.ts
19
19
  import { cancel, confirm, intro, isCancel, outro, spinner, text } from "@clack/prompts";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  pruneVersions
3
- } from "./chunk-UJBZ6OAP.js";
3
+ } from "./chunk-G7WKOGAS.js";
4
4
  import {
5
5
  getSkill,
6
6
  readRegistry,
7
7
  removeSkill,
8
8
  versionsDir,
9
9
  writeRegistry
10
- } from "./chunk-IORULLX5.js";
10
+ } from "./chunk-IBMRS66P.js";
11
11
 
12
12
  // src/commands/uninstall.ts
13
13
  import { cancel, confirm, intro, isCancel, outro, spinner } from "@clack/prompts";
@@ -9,13 +9,13 @@ import {
9
9
  } from "./chunk-2E5SVRSR.js";
10
10
  import {
11
11
  archiveVersion
12
- } from "./chunk-UJBZ6OAP.js";
12
+ } from "./chunk-G7WKOGAS.js";
13
13
  import {
14
14
  listSkills,
15
15
  readRegistry,
16
16
  shortSha,
17
17
  writeRegistry
18
- } from "./chunk-IORULLX5.js";
18
+ } from "./chunk-IBMRS66P.js";
19
19
 
20
20
  // src/commands/update.ts
21
21
  import { cancel, confirm, intro, isCancel, multiselect, outro, spinner } from "@clack/prompts";
@@ -3,8 +3,8 @@ import {
3
3
  archiveVersion,
4
4
  pruneVersions,
5
5
  restoreVersion
6
- } from "./chunk-UJBZ6OAP.js";
7
- import "./chunk-IORULLX5.js";
6
+ } from "./chunk-G7WKOGAS.js";
7
+ import "./chunk-IBMRS66P.js";
8
8
  export {
9
9
  archiveExists,
10
10
  archiveVersion,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@callmeradical/augy",
3
- "version": "0.7.1",
3
+ "version": "0.8.0",
4
4
  "description": "Homebrew for AI agent skills — install, version, update, rollback",
5
5
  "type": "module",
6
6
  "license": "MIT",