yadflow 4.1.0 → 4.3.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.
- package/CHANGELOG.md +34 -0
- package/README.md +5 -2
- package/bin/commands.mjs +2 -1
- package/bin/yad.mjs +71 -8
- package/cli/detect.mjs +1 -1
- package/cli/doctor.mjs +24 -0
- package/cli/errors.mjs +1 -0
- package/cli/find-product.mjs +24 -0
- package/cli/manifest.mjs +3 -0
- package/cli/reconcile.mjs +19 -3
- package/cli/setup.mjs +12 -3
- package/cli/toolbox.mjs +845 -0
- package/cli/workspace.mjs +9 -1
- package/package.json +1 -1
package/cli/workspace.mjs
CHANGED
|
@@ -32,6 +32,7 @@ import { productConfigPath, PROJECT_FILES } from './manifest.mjs';
|
|
|
32
32
|
import { runSetup, insideWorkspace, throughGitDir, selectIdeTargets } from './setup.mjs';
|
|
33
33
|
import { moduleActions, gitHookActions } from './plan.mjs';
|
|
34
34
|
import { writeWorkspaceFile, WORKSPACE_FILE } from './find-product.mjs';
|
|
35
|
+
import { offerToolbox } from './toolbox.mjs';
|
|
35
36
|
|
|
36
37
|
// E80: the file that lets yad find the Product from inside the repos it registers. Written by all three.
|
|
37
38
|
function noteWorkspaceFile(product) {
|
|
@@ -483,13 +484,20 @@ export async function runJoin(cwd, url, folder, opts = {}) {
|
|
|
483
484
|
const hook = gitHookActions(product);
|
|
484
485
|
for (const a of hook) a.apply();
|
|
485
486
|
if (hook.length) ok('installed the git pre-commit hook in this clone');
|
|
487
|
+
// E85: the tools the team chose (the Product's toolbox.json, just cloned) that this machine lacks. A
|
|
488
|
+
// new teammate is the person most likely to miss one. Offered, never installed.
|
|
489
|
+
log('');
|
|
490
|
+
log(c.bold('Toolbox'));
|
|
491
|
+
const toolbox = offerToolbox(product, product, { canRemove: false });
|
|
486
492
|
|
|
493
|
+
// Under a heading of its own, so these lines do not read as part of the toolbox list above.
|
|
487
494
|
log('');
|
|
495
|
+
log(c.bold('Next'));
|
|
488
496
|
if (repos.failed.length) hand(`${repos.failed.length} repo(s) not cloned — fix what is named above and re-run \`yad join ${shown(url)}\`; it keeps what is already there`);
|
|
489
497
|
hand(`start with: cd ${fromShell(product)} && yad next`);
|
|
490
498
|
return {
|
|
491
499
|
workspace, product,
|
|
492
500
|
repos, skills: { installed: skills.installed, stale: skills.stale.length, shared: skills.shared.length },
|
|
493
|
-
hook: hook.length ? 'installed' : 'unchanged',
|
|
501
|
+
hook: hook.length ? 'installed' : 'unchanged', toolbox,
|
|
494
502
|
};
|
|
495
503
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yadflow",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "Shared project memory and workflows for teams building with AI: a versioned record of plans, decisions, contracts and reviews across repos, human-approved review gates, and a zero-dependency `yad` CLI plus 38 skills for your AI assistant.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "AbdelRahman Nasr",
|