{"record":{"id":"3a0ef84f5e758fc7","repo":"refinedev/refine","slug":"example-refine-start-build-index-js","errorCode":null,"errorMessage":"Example: `refine start ./build/index.js`","messagePattern":"Example: `refine start \\./build/index\\.js`","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"packages/cli/src/commands/runner/projectScripts.ts","lineNumber":73,"sourceCode":"  },\n  [ProjectTypes.REMIX]: {\n    getDev: (args: string[]) => [\"dev\", ...args],\n    getStart: (args: string[]) => {\n      // remix-serve accepts a path to the entry file as an argument\n      // if we have arguments, we will pass them to remix-serve and do nothing.\n      // ex: `refine start ./build/index.js`\n      const hasArgs = args?.length;\n      if (hasArgs) {\n        return args;\n      }\n\n      // otherwise print a warning and use `./build/index.js` as default\n      console.log();\n      console.warn(\n        \"🚨 Remix requires a path to the entry file. Please provide it as an argument to `refine start` command in package.json scripts\",\n      );\n      console.warn(\"Refine will use `./build/index.js` as default\");\n      console.warn(\"Example: `refine start ./build/index.js`\");\n      console.log();\n\n      return [\"./build/index.js\"];\n    },\n    getBuild: (args: string[]) => [\"build\", ...args],\n    getBin: (type?: \"dev\" | \"start\" | \"build\") => {\n      return resolveBin(type === \"start\" ? \"remix-serve\" : \"remix\");\n    },\n  },\n  [ProjectTypes.REMIX_VITE]: {\n    getDev: (args: string[]) => [\"vite:dev\", ...args],\n    getStart: (args: string[]) => {\n      // remix-serve accepts a path to the entry file as an argument\n      // if we have arguments, we will pass them to remix-serve and do nothing.\n      // ex: `refine start ./build/server/index.js`\n      const hasArgs = args?.length;\n      if (hasArgs) {\n        return args;","sourceCodeStart":55,"sourceCodeEnd":91,"githubUrl":"https://github.com/refinedev/refine/blob/779d52a20e29b0307ac0df04d135beba434370dc/packages/cli/src/commands/runner/projectScripts.ts#L55-L91","documentation":"Part of the same three-line warning block printed by the Refine CLI runner for Remix projects when `refine start` is invoked without an entry file argument. This line shows the correct usage so the developer can fix the package.json script. Purely informational; the command proceeds with the `./build/index.js` default.","triggerScenarios":"Identical to the trigger for the fallback warning: `refine start` with no positional argument in a Remix-classic project (hasArgs false in the Remix preset of projectScripts.ts).","commonSituations":"Freshly created Remix Refine projects; CI pipelines where the start script was copied from a non-Remix template and lacks the entry path.","solutions":["Update the start script to `refine start ./build/index.js` as the example suggests","Confirm ./build/index.js is the actual build output of your Remix (classic) build"],"exampleFix":"// before\n\"start\": \"refine start\"\n// after\n\"start\": \"refine start ./build/index.js\"","handlingStrategy":"validation","validationCode":"const startScript = pkg.scripts.start;\nif (!startScript || !startScript.includes('./build/')) {\n  console.warn('start script missing entry file argument');\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Treat this hint as a lint signal: fix the script, don't suppress the warning"],"tags":["remix","cli","usage-hint","refine-start"],"backgroundTag":"missing-entry-file-argument","analyzedSha":"779d52a20e29b0307ac0df04d135beba434370dc","analyzedAt":"2026-08-27T11:15:25.854Z","schemaVersion":2},"datasetVersion":"2026-08-27T13:17:12.746Z"}