agileflow 2.82.1 → 2.82.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agileflow",
3
- "version": "2.82.1",
3
+ "version": "2.82.3",
4
4
  "description": "AI-driven agile development system for Claude Code, Cursor, Windsurf, and more",
5
5
  "keywords": [
6
6
  "agile",
@@ -149,6 +149,10 @@ class Installer {
149
149
  spinner.text = 'Installing scripts...';
150
150
  await this.installScripts(directory, { force: effectiveForce });
151
151
 
152
+ // Copy lib/ directory (shared utilities used by scripts)
153
+ spinner.text = 'Installing shared libraries...';
154
+ await this.installLib(directory, { force: effectiveForce });
155
+
152
156
  // Create config.yaml
153
157
  spinner.text = 'Creating configuration...';
154
158
  await this.createConfig(agileflowDir, userName, agileflowFolder, { force: effectiveForce });
@@ -619,6 +623,30 @@ class Installer {
619
623
  await this.copyScriptsRecursive(scriptsSourceDir, scriptsDestDir, force);
620
624
  }
621
625
 
626
+ /**
627
+ * Copy lib/ directory to user's project
628
+ * Scripts in .agileflow/scripts/ require ../lib/ for shared utilities
629
+ * @param {string} directory - Project directory
630
+ * @param {Object} options - Installation options
631
+ * @param {boolean} options.force - Overwrite existing files
632
+ */
633
+ async installLib(directory, options = {}) {
634
+ const { force = false } = options;
635
+ const libSourceDir = path.join(this.packageRoot, 'lib');
636
+ const libDestDir = path.join(directory, '.agileflow', 'lib');
637
+
638
+ // Skip if source lib directory doesn't exist
639
+ if (!(await fs.pathExists(libSourceDir))) {
640
+ return;
641
+ }
642
+
643
+ // Ensure destination lib directory exists
644
+ await fs.ensureDir(libDestDir);
645
+
646
+ // Copy all lib files recursively (reuse scripts copy logic)
647
+ await this.copyScriptsRecursive(libSourceDir, libDestDir, force);
648
+ }
649
+
622
650
  /**
623
651
  * Recursively copy scripts from source to destination
624
652
  * @param {string} srcDir - Source directory