@qlucent/fishi 0.14.5 → 0.14.6

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.
Files changed (2) hide show
  1. package/dist/index.js +32 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1017,8 +1017,37 @@ async function initCommand(description, options) {
1017
1017
  }]);
1018
1018
  sandboxMode = useSandbox ? "docker" : "process";
1019
1019
  } else {
1020
- console.log(chalk.yellow(" Docker not found. Using process-level sandbox (limited isolation)."));
1021
- console.log(chalk.gray(" Install Docker for full agent isolation: https://docs.docker.com/get-docker/"));
1020
+ console.log(chalk.yellow(" Docker not found."));
1021
+ console.log(chalk.gray(" Docker provides full agent isolation (recommended for security)."));
1022
+ console.log("");
1023
+ const { installDocker } = await inquirer.prompt([{
1024
+ type: "list",
1025
+ name: "installDocker",
1026
+ message: "How would you like to proceed?",
1027
+ choices: [
1028
+ { name: "Install Docker (opens install page \u2014 recommended)", value: "install" },
1029
+ { name: "Continue without Docker (process-level isolation only)", value: "skip" }
1030
+ ],
1031
+ default: "install"
1032
+ }]);
1033
+ if (installDocker === "install") {
1034
+ const dockerUrl = "https://docs.docker.com/get-docker/";
1035
+ console.log("");
1036
+ console.log(chalk.cyan(` Opening: ${dockerUrl}`));
1037
+ console.log(chalk.gray(" Install Docker, then run `fishi init` again."));
1038
+ console.log("");
1039
+ try {
1040
+ const { execSync: execSyncOpen } = await import("child_process");
1041
+ const platform = process.platform;
1042
+ if (platform === "win32") execSyncOpen(`start ${dockerUrl}`, { stdio: "ignore" });
1043
+ else if (platform === "darwin") execSyncOpen(`open ${dockerUrl}`, { stdio: "ignore" });
1044
+ else execSyncOpen(`xdg-open ${dockerUrl}`, { stdio: "ignore" });
1045
+ } catch {
1046
+ console.log(chalk.gray(` Visit: ${dockerUrl}`));
1047
+ }
1048
+ return;
1049
+ }
1050
+ console.log(chalk.gray(" Continuing with process-level sandbox (limited isolation)."));
1022
1051
  console.log("");
1023
1052
  }
1024
1053
  }
@@ -2608,7 +2637,7 @@ async function upgradeCommand() {
2608
2637
  var program = new Command();
2609
2638
  program.name("fishi").description(
2610
2639
  chalk15.cyan("\u{1F41F} FISHI") + " \u2014 AI-Powered Software Delivery Pipeline\n Autonomous AI development with human governance"
2611
- ).version("0.14.4");
2640
+ ).version("0.14.5");
2612
2641
  program.command("init").description("Initialize FISHI in the current directory").argument("[description]", "Project description (skip wizard with zero-config)").option("-l, --language <lang>", "Primary language (e.g., typescript, python)").option("-f, --framework <framework>", "Framework (e.g., nextjs, express, django)").option(
2613
2642
  "-c, --cost-mode <mode>",
2614
2643
  "Cost mode: performance | balanced | economy",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qlucent/fishi",
3
- "version": "0.14.5",
3
+ "version": "0.14.6",
4
4
  "description": "FISHI — Your AI Dev Team That Actually Ships. Autonomous agent framework for Claude Code.",
5
5
  "license": "MIT",
6
6
  "type": "module",