forge-workflow 0.0.1 → 0.0.2
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/bin/forge.js +8 -4
- package/install.sh +3 -3
- package/lib/agents/cline.plugin.json +1 -1
- package/lib/agents/roo.plugin.json +1 -1
- package/package.json +4 -1
package/bin/forge.js
CHANGED
|
@@ -576,6 +576,12 @@ function createSymlinkOrCopy(source, target) {
|
|
|
576
576
|
|
|
577
577
|
try {
|
|
578
578
|
if (fs.existsSync(fullTarget)) {
|
|
579
|
+
const stat = fs.lstatSync(fullTarget);
|
|
580
|
+
if (stat.isDirectory()) {
|
|
581
|
+
// Target is an actual directory — cannot replace with a file/symlink
|
|
582
|
+
console.warn(` ⚠ Skipped ${target} (a directory exists at this path). Remove it manually and re-run setup to create the symlink.`);
|
|
583
|
+
return '';
|
|
584
|
+
}
|
|
579
585
|
fs.unlinkSync(fullTarget);
|
|
580
586
|
}
|
|
581
587
|
const targetDir = path.dirname(fullTarget);
|
|
@@ -586,10 +592,8 @@ function createSymlinkOrCopy(source, target) {
|
|
|
586
592
|
const relPath = path.relative(targetDir, fullSource);
|
|
587
593
|
fs.symlinkSync(relPath, fullTarget);
|
|
588
594
|
return 'linked';
|
|
589
|
-
} catch (
|
|
590
|
-
// Symlink
|
|
591
|
-
// Fall back to copying the file instead to ensure operation succeeds
|
|
592
|
-
console.warn('Symlink creation failed, falling back to copy:', error_.message);
|
|
595
|
+
} catch (_error) {
|
|
596
|
+
// Symlink may fail on Windows without admin — silent fallback to copy
|
|
593
597
|
fs.copyFileSync(fullSource, fullTarget);
|
|
594
598
|
return 'copied';
|
|
595
599
|
}
|
package/install.sh
CHANGED
|
@@ -704,9 +704,9 @@ if [ "$INSTALL_ROO" = true ]; then
|
|
|
704
704
|
echo -e " ${GREEN}Converted: 9 workflow commands${NC}"
|
|
705
705
|
fi
|
|
706
706
|
|
|
707
|
-
# Link .
|
|
708
|
-
if [ ! -f ".
|
|
709
|
-
create_link "AGENTS.md" ".
|
|
707
|
+
# Link .roorules -> AGENTS.md
|
|
708
|
+
if [ ! -f ".roorules" ]; then
|
|
709
|
+
create_link "AGENTS.md" ".roorules"
|
|
710
710
|
fi
|
|
711
711
|
fi
|
|
712
712
|
|
package/package.json
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "forge-workflow",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "7-stage TDD workflow for ALL AI coding agents (Claude, Cursor, Cline, OpenCode, Copilot, Kilo Code, Roo Code, Codex)",
|
|
5
5
|
"bin": {
|
|
6
6
|
"forge": "bin/forge.js",
|
|
7
7
|
"forge-validate": "bin/forge-validate.js"
|
|
8
8
|
},
|
|
9
|
+
"workspaces": [
|
|
10
|
+
"packages/*"
|
|
11
|
+
],
|
|
9
12
|
"scripts": {
|
|
10
13
|
"test": "bun test",
|
|
11
14
|
"test:setup": "bash test-env/automation/setup-fixtures.sh",
|