"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Markdown = exports.TypescriptEnvironmentCLI = exports.TypescriptLibraries = exports.Typescript = exports.Documents = exports.Commons = exports.Exports = exports.OSRTypescript = exports.resolvePackagePath = void 0; const read_1 = require("@plastichub/fs/read"); const path_1 = require("path"); const resolvePackagePath = (path) => { return (0, path_1.resolve)((0, path_1.join)(__dirname, path)); }; exports.resolvePackagePath = resolvePackagePath; const OSRTypescript = (mixin = []) => { return [ { role: "user", content: (0, read_1.sync)((0, exports.resolvePackagePath)("osr-typescript.md")) } ].concat(mixin); }; exports.OSRTypescript = OSRTypescript; const Exports = (mixin = []) => { return [ { role: "user", content: (0, read_1.sync)((0, exports.resolvePackagePath)("osr-exports.md")) } ].concat(mixin); }; exports.Exports = Exports; const Commons = (mixin = []) => { return [ { role: "system", content: "never shorten the output for my prompts!" }, { role: "system", content: "be short, dont explain, just generate code!, with no comments" }, { role: "system", content: "dont add foot notes, or any kind of comments, just generate code!" }, { role: "system", content: "if not specified, always output as markdown" } ].concat(mixin); }; exports.Commons = Commons; const Documents = (mixin = []) => { return [ { role: "system", content: "never shorten the output for my prompts, always process all data!" }, { role: "system", content: "be short, dont explain, just generate code or data, with no comments" }, { role: "system", content: "dont add foot notes, or any kind of comments" }, { role: "system", content: "if not specified, always output as markdown" } ].concat(mixin); }; exports.Documents = Documents; const Typescript = (mixin = []) => { const defaults = [ { role: "system", content: "for Typescript enums, always use double quotes for keys and values" }, { role: "system", content: "for Typescript enums & classes, always use pascal case for names, and export them" }, { role: "system", content: "for Typescript enums, dont add duplicates" }, { role: "system", content: "for Typescript enums, always sort the keys alphabetically" }, { role: "system", content: "for gps coordinates, always use strings, not numbers, in short form" }, { role: "system", content: "for typescript code, please add a comment at the beginning of the file, with the query that generated the code" }, { role: "system", content: "for typescript code : no comments" }, { role: "system", content: "for Typescript : no semi colons, no trailing commas, no spaces in parens, no spaces in brackets, no spaces in braces" } ]; return defaults.concat(mixin); }; exports.Typescript = Typescript; const TypescriptLibraries = (mixin = []) => { const defaults = [ { role: "user", content: "for Typescript, dont use chalk, commander, ora, or any other fancy library, just use the basics, always use imports, never require. use tslog, yargs, axios and Zod whenevern possible" } ]; return defaults.concat(mixin); }; exports.TypescriptLibraries = TypescriptLibraries; const TypescriptEnvironmentCLI = (mixin = []) => { const layout = [ "src/index.ts (create ts logger)", "src/main.ts (yargs main entry)", "src/constants.ts (tslog logger name)", "src/zod_schemas.ts (all zod schemas go here)", "src/commands/index.ts (register all commands from src/commands/** here, commands always import functions from src/lib/category )", "src/commands/types.ts (command to write zod schemas to Typescript interfaces)", //"src/lib/index.ts (export all functions)", //"readme.md (add all commands here)", "package.json (leave dependencies empty, add common scripts)", ]; const defaults = [ { role: "system", content: "for Typescript boilerplates, use this layout for CLI projects: \n" + layout.join("\n") }, { role: "system", content: "when using yargs, all commands are async" }, ]; return defaults.concat(mixin); }; exports.TypescriptEnvironmentCLI = TypescriptEnvironmentCLI; const Markdown = (mixin = []) => { const defaults = [ { role: "system", content: "for markdown code, please add a caption (header level 1) at the beginning of the file, with the exact query that generated the code" } ]; return defaults.concat(mixin); }; exports.Markdown = Markdown; //# sourceMappingURL=system.js.map