maidang 1.0.1 → 1.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/dist/index.js CHANGED
@@ -137,7 +137,7 @@ var career_default = {
137
137
  ]
138
138
  },
139
139
  {
140
- company: "\u676D\u5DDE\u89C6\u4FE1\u79D1\u6280\u6709\u9650\u516C\u53F8",
140
+ company: "\u676D\u5DDE\u89C6\u674F\u79D1\u6280\u6709\u9650\u516C\u53F8",
141
141
  role: "\u524D\u7AEF\u5F00\u53D1\u5DE5\u7A0B\u5E08",
142
142
  period: "2022.10 - 2024.06",
143
143
  description: "\u8D1F\u8D23\u524D\u7AEF\u5DE5\u7A0B\u5316\u3001\u4E1A\u52A1\u7CFB\u7EDF\u5F00\u53D1\u4E0E\u56E2\u961F\u534F\u4F5C\u6D41\u7A0B\u4F18\u5316\u3002",
@@ -148,7 +148,7 @@ var career_default = {
148
148
  ]
149
149
  },
150
150
  {
151
- company: "\u534E\u76D6\u5BB6\u5C45\u3001\u9177\u5BB6\u4E50",
151
+ company: "\u534E\u76D6\u5BB6\u5C45\u3001\u9177\u5BB6\u4E50\uFF08\u4E0D\u540C\u516C\u53F8\uFF09",
152
152
  role: "\u524D\u7AEF\u5F00\u53D1\u5DE5\u7A0B\u5E08",
153
153
  period: "2020.11 - 2022.06",
154
154
  description: "\u65E9\u671F\u7ECF\u5386\uFF0C\u4E3B\u8981\u8D1F\u8D23 2D Canvas \u76F8\u5173\u529F\u80FD\u5F00\u53D1\u4E0E\u7EF4\u62A4\u3002",
@@ -288,7 +288,7 @@ function getVersionInfo() {
288
288
  // src/index.ts
289
289
  var program = new Command4();
290
290
  var versionInfo = getVersionInfo();
291
- program.name("maidang").description("\u4E86\u89E3\u9EA6\u5F53 - \u4E00\u4E2A AI \u65F6\u4EE3\u7684\u63A2\u7D22\u8005").version(getAgeVersion(), "-V, --version", "\u663E\u793A\u9EA6\u5F53\u7684\u5E74\u9F84\u7248\u672C\u53F7");
291
+ program.name("maidang").description("\u4E86\u89E3\u9EA6\u5F53 - \u4E00\u4E2A AI \u65F6\u4EE3\u7684\u63A2\u7D22\u8005").version(getAgeVersion(), "-v, --version", "\u663E\u793A\u9EA6\u5F53\u7684\u5E74\u9F84\u7248\u672C\u53F7");
292
292
  program.command("birthday").description("\u663E\u793A\u9EA6\u5F53\u7684\u751F\u65E5\u4FE1\u606F").action(() => {
293
293
  const { birthDate, currentAge, nextBirthday, version } = versionInfo;
294
294
  console.log(`\u{1F382} \u9EA6\u5F53\u7684\u751F\u65E5\u4FE1\u606F`);
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/commands/home.ts", "../src/data/home.json", "../src/utils/display.ts", "../src/commands/career.ts", "../src/data/career.json", "../src/commands/cat.ts", "../src/utils/version.ts"],
4
- "sourcesContent": ["#!/usr/bin/env node\n\nimport { Command } from 'commander';\nimport { createHomeCommand } from './commands/home';\nimport { createCareerCommand } from './commands/career';\nimport { createCatCommand } from './commands/cat';\nimport { getAgeVersion, getVersionInfo } from './utils/version';\n\nconst program = new Command();\n\n// \u52A8\u6001\u8BA1\u7B97\u5E74\u9F84\u7248\u672C\u53F7\nconst versionInfo = getVersionInfo();\n\nprogram\n .name('maidang')\n .description('\u4E86\u89E3\u9EA6\u5F53 - \u4E00\u4E2A AI \u65F6\u4EE3\u7684\u63A2\u7D22\u8005')\n .version(getAgeVersion(), '-V, --version', '\u663E\u793A\u9EA6\u5F53\u7684\u5E74\u9F84\u7248\u672C\u53F7');\n\n// \u6DFB\u52A0\u4E00\u4E2A\u7279\u6B8A\u7684\u751F\u65E5\u4FE1\u606F\u547D\u4EE4\nprogram\n .command('birthday')\n .description('\u663E\u793A\u9EA6\u5F53\u7684\u751F\u65E5\u4FE1\u606F')\n .action(() => {\n const { birthDate, currentAge, nextBirthday, version } = versionInfo;\n\n console.log(`\uD83C\uDF82 \u9EA6\u5F53\u7684\u751F\u65E5\u4FE1\u606F`);\n console.log('');\n console.log(`\u51FA\u751F\u65E5\u671F: ${birthDate.toLocaleDateString('zh-CN', { year: 'numeric', month: 'long', day: 'numeric' })}`);\n console.log(`\u5F53\u524D\u5E74\u9F84: ${currentAge} \u5C81`);\n console.log(`\u5F53\u524D\u7248\u672C: ${version} (\u5E74\u9F84\u7248\u672C)`);\n console.log(`\u4E0B\u4E00\u4E2A\u751F\u65E5: ${nextBirthday.toLocaleDateString('zh-CN', { year: 'numeric', month: 'long', day: 'numeric' })}`);\n\n const daysUntilNextBirthday = Math.ceil((nextBirthday.getTime() - new Date().getTime()) / (1000 * 60 * 60 * 24));\n console.log(`\u8DDD\u79BB\u751F\u65E5\u8FD8\u6709: ${daysUntilNextBirthday} \u5929`);\n\n if (daysUntilNextBirthday <= 30) {\n console.log(`\uD83C\uDF89 \u5FEB\u8981\u8FC7\u751F\u65E5\u4E86\uFF01`);\n }\n });\n\nconst careerCmd = createCareerCommand();\nconst catCmd = createCatCommand();\n\nprogram.addCommand(careerCmd);\nprogram.addCommand(catCmd);\n\nif (!process.argv.slice(2).length) {\n const homeCmd = createHomeCommand();\n homeCmd.parse(process.argv);\n} else {\n program.parse(process.argv);\n}\n", "import { Command } from 'commander';\nimport chalk from 'chalk';\nimport homeData from '../data/home.json';\nimport { displayTitle, displayBox, createSpinner } from '../utils/display';\n\nexport function createHomeCommand(): Command {\n const cmd = new Command('maidang')\n .description('\u6B22\u8FCE\u6765\u5230\u9EA6\u5F53\u7684\u4E16\u754C')\n .action(async () => {\n const randomGreeting = homeData.greetings[Math.floor(Math.random() * homeData.greetings.length)];\n\n const spinner = createSpinner('\u6B63\u5728\u53EC\u5524\u9EA6\u5F53...');\n spinner.start();\n\n await new Promise(resolve => setTimeout(resolve, 1000));\n\n spinner.stop();\n\n console.clear();\n\n await displayTitle('MAIDANG');\n\n console.log('');\n\n const welcomeContent = `\n${chalk.white.bold(randomGreeting)}\n\n${chalk.gray('\u2500'.repeat(40))}\n\n${chalk.yellow('\uD83D\uDC64')} ${chalk.white.bold('\u59D3\u540D:')} ${chalk.cyan(homeData.basicInfo.name)}\n${chalk.yellow('\uD83D\uDCBC')} ${chalk.white.bold('\u8EAB\u4EFD:')} ${chalk.cyan(homeData.basicInfo.role)}\n${chalk.yellow('\uD83D\uDCAD')} ${chalk.white.bold('\u5EA7\u53F3\u94ED:')} ${chalk.green(homeData.basicInfo.motto)}\n\n${chalk.gray('\u2500'.repeat(40))}\n\n${chalk.gray('\u8F93\u5165 ' + chalk.cyan.bold('maidang --help') + ' \u67E5\u770B\u6240\u6709\u547D\u4EE4')}\n${chalk.gray('\u8F93\u5165 ' + chalk.cyan.bold('maidang career') + ' \u67E5\u770B\u5DE5\u4F5C\u7ECF\u5386')}\n${chalk.gray('\u8F93\u5165 ' + chalk.cyan.bold('maidang cat') + ' \u6216 ' + chalk.cyan.bold('maidang meow') + ' \u67E5\u770B\u6211\u7684\u732B')}\n `;\n\n displayBox(welcomeContent, {\n padding: 2\n });\n\n console.log('');\n });\n\n return cmd;\n}\n", "{\n \"greetings\": [\n \"\u6B22\u8FCE\u6765\u5230\u9EA6\u5F53\u7684\u4E16\u754C\uFF01\uD83D\uDC4B\",\n \"\u4F60\u597D\u5440\uFF0C\u6211\u662F\u9EA6\u5F53\uFF01\u2728\",\n \"Hey\uFF0C\u6B22\u8FCE\u6765\u4E86\u89E3\u6211\uFF01\uD83C\uDF89\",\n \"\u63A2\u7D22\u9EA6\u5F53\u7684\u79D8\u5BC6\u82B1\u56ED \uD83C\uDF38\",\n \"\u51C6\u5907\u597D\u8BA4\u8BC6\u6211\u4E86\u5417\uFF1F\uD83D\uDE80\"\n ],\n \"basicInfo\": {\n \"name\": \"\u9EA6\u5F53\",\n \"role\": \"AI \u65F6\u4EE3\u7684\u63A2\u7D22\u8005\",\n \"motto\": \"\u4FDD\u6301\u597D\u5947\uFF0C\u6301\u7EED\u63A2\u7D22\"\n }\n}\n", "import chalk from 'chalk';\nimport boxen from 'boxen';\nimport figlet from 'figlet';\nimport ora, { Ora } from 'ora';\n\nexport async function displayTitle(text: string): Promise<void> {\n return new Promise((resolve) => {\n figlet.text(text, {\n font: 'Big',\n horizontalLayout: 'default',\n verticalLayout: 'default'\n }, (err, data) => {\n if (err) {\n console.log(chalk.cyan.bold(text));\n } else {\n console.log(chalk.cyan(data));\n }\n resolve();\n });\n });\n}\n\nexport function displayBox(content: string, options?: {\n title?: string;\n borderColor?: string;\n padding?: number;\n}): void {\n const borderOptions: any = {\n padding: options?.padding || 1,\n borderColor: options?.borderColor || 'cyan',\n borderStyle: 'round'\n };\n\n if (options?.title) {\n borderOptions.title = options.title;\n borderOptions.titleAlignment = 'center';\n }\n\n console.log(boxen(content, borderOptions));\n}\n\nexport function createSpinner(text: string): Ora {\n return ora({\n text,\n color: 'cyan'\n });\n}\n\nexport function displaySeparator(char: string = '\u2500', length: number = 50): void {\n console.log(chalk.gray(char.repeat(length)));\n}\n\nexport function displayItem(icon: string, text: string, color: string = 'cyan'): void {\n const colorMethod = (chalk as any)[color];\n if (colorMethod) {\n console.log(colorMethod(icon), text);\n } else {\n console.log(chalk.cyan(icon), text);\n }\n}\n\nexport function displaySection(title: string): void {\n displaySeparator();\n console.log(chalk.bold.cyan(`\\n${title}`));\n displaySeparator();\n}\n", "import { Command } from 'commander';\nimport chalk from 'chalk';\nimport careerData from '../data/career.json';\nimport { displaySection } from '../utils/display';\n\nexport function createCareerCommand(): Command {\n const cmd = new Command('career')\n .description('\u67E5\u770B\u6211\u7684\u5DE5\u4F5C\u7ECF\u5386')\n .action(() => {\n displaySection('\uD83D\uDCBC \u5DE5\u4F5C\u7ECF\u5386');\n\n careerData.career.forEach((job, index) => {\n console.log('');\n\n console.log(chalk.yellow.bold(`\uD83D\uDCCB ${job.company}`));\n console.log(chalk.cyan(` ${job.role}`));\n console.log(chalk.gray(` ${job.period}`));\n console.log('');\n\n console.log(chalk.white(' \uD83D\uDCDD ' + job.description));\n console.log('');\n\n if (job.achievements && job.achievements.length > 0) {\n console.log(chalk.gray(' \u4E3B\u8981\u6210\u5C31:'));\n job.achievements.forEach(achievement => {\n console.log(chalk.green(' \u2713 ' + achievement));\n });\n }\n\n if (index < careerData.career.length - 1) {\n console.log('');\n console.log(chalk.gray('\u2500'.repeat(40)));\n }\n });\n\n console.log('');\n });\n\n return cmd;\n}\n", "{\n \"career\": [\n {\n \"company\": \"\u5F71\u5200 RPA\uFF08AI Power \u56E2\u961F\uFF09\",\n \"role\": \"\u5168\u6808\u5DE5\u7A0B\u5E08 / AI Agent \u5F00\u53D1\u8005\",\n \"period\": \"2025.10 - \u81F3\u4ECA\",\n \"description\": \"\u805A\u7126 AI \u5DE5\u4F5C\u6D41\u5EFA\u8BBE\uFF0C\u4E3B\u5BFC AI Agent \u65B9\u6848\u8BBE\u8BA1\u4E0E\u843D\u5730\uFF0C\u63A8\u52A8\u4E1A\u52A1\u4ECE\u529F\u80FD\u5F00\u53D1\u8D70\u5411\u667A\u80FD\u5316\u6D41\u7A0B\u7F16\u6392\u3002\",\n \"achievements\": [\n \"\u8D1F\u8D23 AI \u5DE5\u4F5C\u6D41\u76F8\u5173\u80FD\u529B\u5EFA\u8BBE\uFF0C\u63A8\u52A8\u56E2\u961F\u5F62\u6210\u53EF\u590D\u7528\u7684\u6D41\u7A0B\u5316\u4EA4\u4ED8\u65B9\u5F0F\",\n \"\u62C5\u4EFB AI Agent \u6838\u5FC3\u5F00\u53D1\u8005\uFF0C\u8986\u76D6\u4ECE\u9700\u6C42\u62C6\u89E3\u3001\u63D0\u793A\u8BCD\u8BBE\u8BA1\u5230\u670D\u52A1\u7AEF\u843D\u5730\u7684\u5B8C\u6574\u94FE\u8DEF\",\n \"\u4EE5\u5168\u6808\u65B9\u5F0F\u534F\u540C\u524D\u540E\u7AEF\u5F00\u53D1\uFF0C\u63D0\u5347\u590D\u6742\u4E1A\u52A1\u5728\u7814\u53D1\u4FA7\u7684\u843D\u5730\u6548\u7387\",\n \"\u5728\u56E2\u961F\u5185\u63A8\u8FDB AI \u5DE5\u7A0B\u5316\u5B9E\u8DF5\uFF0C\u6301\u7EED\u63D0\u5347\u9879\u76EE\u7A33\u5B9A\u6027\u4E0E\u8FED\u4EE3\u901F\u5EA6\"\n ]\n },\n {\n \"company\": \"\u676D\u5DDE\u4E0D\u5FD8\u667A\u80FD\u79D1\u6280\u6709\u9650\u516C\u53F8\",\n \"role\": \"\u5168\u6808\u5F00\u53D1\u5DE5\u7A0B\u5E08\",\n \"period\": \"2024.10 - 2025.09\",\n \"description\": \"\u53C2\u4E0E AI \u89C6\u9891\u751F\u6210\u4E0E\u5E7F\u544A\u6295\u653E\u4EA7\u54C1\u5EFA\u8BBE\uFF0C\u8D1F\u8D23\u524D\u540E\u7AEF\u8054\u52A8\u548C\u6838\u5FC3\u529F\u80FD\u843D\u5730\u3002\",\n \"achievements\": [\n \"\u57FA\u4E8E Next.js + React + Node.js \u53C2\u4E0E\u9AD8\u4EA4\u4E92\u5E94\u7528\u4E0E\u4E2D\u53F0\u670D\u52A1\u5F00\u53D1\",\n \"\u53C2\u4E0E ASR\u3001LLM\u3001\u89C6\u9891\u4EFB\u52A1\u94FE\u8DEF\u7B49 AI \u76F8\u5173\u529F\u80FD\u5EFA\u8BBE\",\n \"\u53C2\u4E0E\u81EA\u52A8\u5316\u6295\u653E\u4E0E\u5DE5\u7A0B\u5316\u6D41\u7A0B\u5EFA\u8BBE\uFF0C\u63D0\u5347\u4E1A\u52A1\u5904\u7406\u6548\u7387\"\n ]\n },\n {\n \"company\": \"\u676D\u5DDE\u89C6\u4FE1\u79D1\u6280\u6709\u9650\u516C\u53F8\",\n \"role\": \"\u524D\u7AEF\u5F00\u53D1\u5DE5\u7A0B\u5E08\",\n \"period\": \"2022.10 - 2024.06\",\n \"description\": \"\u8D1F\u8D23\u524D\u7AEF\u5DE5\u7A0B\u5316\u3001\u4E1A\u52A1\u7CFB\u7EDF\u5F00\u53D1\u4E0E\u56E2\u961F\u534F\u4F5C\u6D41\u7A0B\u4F18\u5316\u3002\",\n \"achievements\": [\n \"\u63A8\u52A8\u89C4\u8303\u4F53\u7CFB\u843D\u5730\uFF08Lint\u3001Commit \u89C4\u8303\u3001\u811A\u624B\u67B6\u7B49\uFF09\uFF0C\u63D0\u5347\u56E2\u961F\u7814\u53D1\u4E00\u81F4\u6027\",\n \"\u53C2\u4E0E\u6784\u5EFA\u79C1\u6709\u5E93\u4E0E\u5DE5\u7A0B\u5316\u4F53\u7CFB\uFF0C\u63D0\u5347\u591A\u9879\u76EE\u590D\u7528\u6548\u7387\",\n \"\u652F\u6491\u540E\u53F0\u7CFB\u7EDF\u4E0E\u6838\u5FC3\u4E1A\u52A1\u9875\u9762\u7684\u6301\u7EED\u8FED\u4EE3\"\n ]\n },\n {\n \"company\": \"\u534E\u76D6\u5BB6\u5C45\u3001\u9177\u5BB6\u4E50\",\n \"role\": \"\u524D\u7AEF\u5F00\u53D1\u5DE5\u7A0B\u5E08\",\n \"period\": \"2020.11 - 2022.06\",\n \"description\": \"\u65E9\u671F\u7ECF\u5386\uFF0C\u4E3B\u8981\u8D1F\u8D23 2D Canvas \u76F8\u5173\u529F\u80FD\u5F00\u53D1\u4E0E\u7EF4\u62A4\u3002\",\n \"achievements\": [\n \"\u53C2\u4E0E 2D \u8BBE\u8BA1\u5DE5\u5177\u4E0E\u4E3B\u7AD9\u76F8\u5173\u524D\u7AEF\u529F\u80FD\u5F00\u53D1\",\n \"\u8D1F\u8D23\u753B\u5E03\u4EA4\u4E92\u3001\u5386\u53F2\u8BB0\u5F55\u4E0E\u5FEB\u6377\u952E\u7B49\u80FD\u529B\u8FED\u4EE3\",\n \"\u4E0E\u4EA7\u54C1\u3001\u8BBE\u8BA1\u3001\u6D4B\u8BD5\u534F\u4F5C\u63A8\u8FDB\u7248\u672C\u4EA4\u4ED8\"\n ]\n }\n ]\n}\n", "import { Command } from 'commander';\nimport chalk from 'chalk';\nimport path from 'path';\nimport fs from 'fs';\n\nconst RETRO_PIXEL_WIDTH = 28;\nconst RETRO_PIXEL_HEIGHT = 16;\n\nconst resolveExecutableDir = (): string => {\n if (!process.argv[1]) {\n return process.cwd();\n }\n\n const executablePath = path.resolve(process.argv[1]);\n try {\n const resolvedExecutablePath = fs.realpathSync(executablePath);\n return path.dirname(resolvedExecutablePath);\n } catch {\n return path.dirname(executablePath);\n }\n};\n\nconst resolveCatImagePath = (): string | null => {\n const executableDir = resolveExecutableDir();\n const packageRootDir = path.resolve(executableDir, '..');\n const candidatePaths = [\n path.resolve(process.cwd(), 'src/assets/cat.jpg'),\n path.resolve(packageRootDir, 'src/assets/cat.jpg'),\n path.resolve(packageRootDir, 'dist/assets/cat.jpg'),\n path.resolve(executableDir, 'assets/cat.jpg'),\n path.resolve(executableDir, '../assets/cat.jpg')\n ];\n\n for (const candidatePath of candidatePaths) {\n if (fs.existsSync(candidatePath)) {\n return candidatePath;\n }\n }\n\n return null;\n};\n\nexport function createCatCommand(): Command {\n const cmd = new Command('cat')\n .alias('meow')\n .description('\u67E5\u770B\u9EA6\u9EA6')\n .action(async () => {\n console.log(chalk.yellow.bold('\u9EA6\u9EA6'));\n console.log('');\n\n try {\n const catImagePath = resolveCatImagePath();\n\n if (catImagePath) {\n try {\n const { default: terminalImage } = await import('terminal-image');\n const image = await terminalImage.file(catImagePath, {\n width: RETRO_PIXEL_WIDTH,\n height: RETRO_PIXEL_HEIGHT,\n preserveAspectRatio: true\n });\n\n console.log(image);\n } catch (error) {\n console.log(chalk.red('\u56FE\u7247\u6E32\u67D3\u5931\u8D25'));\n }\n } else {\n console.log(chalk.gray('\u8BF7\u5C06\u732B\u54AA\u56FE\u7247\u653E\u5728 src/assets/cat.jpg'));\n }\n } catch (error) {\n console.log(chalk.gray('\uD83D\uDCF8 \u8BF7\u5C06\u732B\u54AA\u56FE\u7247\u653E\u5728 src/assets/cat.jpg'));\n }\n\n console.log('');\n });\n\n return cmd;\n}\n", "/**\n * \u8BA1\u7B97\u9EA6\u5F53\u7684\u5E74\u9F84\u7248\u672C\u53F7\n * \u51FA\u751F\u65E5\u671F\uFF1A1997\u5E743\u670810\u65E5\n * \u8FD4\u56DE\u683C\u5F0F\uFF1A\u5E74\u9F84.\u5C0F\u7248\u672C\u53F7.\u8865\u4E01\u53F7\n */\nexport function getAgeVersion(): string {\n const birthDate = new Date(1997, 2, 10); // \u6708\u4EFD\u4ECE0\u5F00\u59CB\uFF0C\u6240\u4EE52\u662F3\u6708\n const today = new Date();\n\n let age = today.getFullYear() - birthDate.getFullYear();\n const monthDiff = today.getMonth() - birthDate.getMonth();\n\n // \u5982\u679C\u8FD8\u6CA1\u8FC7\u751F\u65E5\uFF0C\u5E74\u9F84\u51CF1\n if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthDate.getDate())) {\n age--;\n }\n\n // \u8FD9\u91CC\u7684\u5C0F\u7248\u672C\u548C\u8865\u4E01\u53F7\u53EF\u4EE5\u540E\u7EED\u4ECE package.json \u8BFB\u53D6\u6216\u56FA\u5B9A\n // \u73B0\u5728\u5148\u8FD4\u56DE\u7B80\u5355\u683C\u5F0F\n return `${age}.0.0`;\n}\n\n/**\n * \u83B7\u53D6\u7248\u672C\u53F7\u548C\u751F\u65E5\u4FE1\u606F\n */\nexport function getVersionInfo(): { version: string; birthDate: Date; currentAge: number; nextBirthday: Date } {\n const birthDate = new Date(1997, 2, 10); // 1997\u5E743\u670810\u65E5\n const today = new Date();\n\n let currentAge = today.getFullYear() - birthDate.getFullYear();\n const monthDiff = today.getMonth() - birthDate.getMonth();\n\n // \u8BA1\u7B97\u4E0B\u4E00\u4E2A\u751F\u65E5\n const nextBirthday = new Date(today.getFullYear(), birthDate.getMonth(), birthDate.getDate());\n\n if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthDate.getDate())) {\n currentAge--;\n } else {\n nextBirthday.setFullYear(today.getFullYear() + 1);\n }\n\n const version = `${currentAge}.0.0`;\n\n return {\n version,\n birthDate,\n currentAge,\n nextBirthday\n };\n}\n"],
4
+ "sourcesContent": ["#!/usr/bin/env node\n\nimport { Command } from 'commander';\nimport { createHomeCommand } from './commands/home';\nimport { createCareerCommand } from './commands/career';\nimport { createCatCommand } from './commands/cat';\nimport { getAgeVersion, getVersionInfo } from './utils/version';\n\nconst program = new Command();\n\n// \u52A8\u6001\u8BA1\u7B97\u5E74\u9F84\u7248\u672C\u53F7\nconst versionInfo = getVersionInfo();\n\nprogram\n .name('maidang')\n .description('\u4E86\u89E3\u9EA6\u5F53 - \u4E00\u4E2A AI \u65F6\u4EE3\u7684\u63A2\u7D22\u8005')\n .version(getAgeVersion(), '-v, --version', '\u663E\u793A\u9EA6\u5F53\u7684\u5E74\u9F84\u7248\u672C\u53F7');\n\n// \u6DFB\u52A0\u4E00\u4E2A\u7279\u6B8A\u7684\u751F\u65E5\u4FE1\u606F\u547D\u4EE4\nprogram\n .command('birthday')\n .description('\u663E\u793A\u9EA6\u5F53\u7684\u751F\u65E5\u4FE1\u606F')\n .action(() => {\n const { birthDate, currentAge, nextBirthday, version } = versionInfo;\n\n console.log(`\uD83C\uDF82 \u9EA6\u5F53\u7684\u751F\u65E5\u4FE1\u606F`);\n console.log('');\n console.log(`\u51FA\u751F\u65E5\u671F: ${birthDate.toLocaleDateString('zh-CN', { year: 'numeric', month: 'long', day: 'numeric' })}`);\n console.log(`\u5F53\u524D\u5E74\u9F84: ${currentAge} \u5C81`);\n console.log(`\u5F53\u524D\u7248\u672C: ${version} (\u5E74\u9F84\u7248\u672C)`);\n console.log(`\u4E0B\u4E00\u4E2A\u751F\u65E5: ${nextBirthday.toLocaleDateString('zh-CN', { year: 'numeric', month: 'long', day: 'numeric' })}`);\n\n const daysUntilNextBirthday = Math.ceil((nextBirthday.getTime() - new Date().getTime()) / (1000 * 60 * 60 * 24));\n console.log(`\u8DDD\u79BB\u751F\u65E5\u8FD8\u6709: ${daysUntilNextBirthday} \u5929`);\n\n if (daysUntilNextBirthday <= 30) {\n console.log(`\uD83C\uDF89 \u5FEB\u8981\u8FC7\u751F\u65E5\u4E86\uFF01`);\n }\n });\n\nconst careerCmd = createCareerCommand();\nconst catCmd = createCatCommand();\n\nprogram.addCommand(careerCmd);\nprogram.addCommand(catCmd);\n\nif (!process.argv.slice(2).length) {\n const homeCmd = createHomeCommand();\n homeCmd.parse(process.argv);\n} else {\n program.parse(process.argv);\n}\n", "import { Command } from 'commander';\nimport chalk from 'chalk';\nimport homeData from '../data/home.json';\nimport { displayTitle, displayBox, createSpinner } from '../utils/display';\n\nexport function createHomeCommand(): Command {\n const cmd = new Command('maidang')\n .description('\u6B22\u8FCE\u6765\u5230\u9EA6\u5F53\u7684\u4E16\u754C')\n .action(async () => {\n const randomGreeting = homeData.greetings[Math.floor(Math.random() * homeData.greetings.length)];\n\n const spinner = createSpinner('\u6B63\u5728\u53EC\u5524\u9EA6\u5F53...');\n spinner.start();\n\n await new Promise(resolve => setTimeout(resolve, 1000));\n\n spinner.stop();\n\n console.clear();\n\n await displayTitle('MAIDANG');\n\n console.log('');\n\n const welcomeContent = `\n${chalk.white.bold(randomGreeting)}\n\n${chalk.gray('\u2500'.repeat(40))}\n\n${chalk.yellow('\uD83D\uDC64')} ${chalk.white.bold('\u59D3\u540D:')} ${chalk.cyan(homeData.basicInfo.name)}\n${chalk.yellow('\uD83D\uDCBC')} ${chalk.white.bold('\u8EAB\u4EFD:')} ${chalk.cyan(homeData.basicInfo.role)}\n${chalk.yellow('\uD83D\uDCAD')} ${chalk.white.bold('\u5EA7\u53F3\u94ED:')} ${chalk.green(homeData.basicInfo.motto)}\n\n${chalk.gray('\u2500'.repeat(40))}\n\n${chalk.gray('\u8F93\u5165 ' + chalk.cyan.bold('maidang --help') + ' \u67E5\u770B\u6240\u6709\u547D\u4EE4')}\n${chalk.gray('\u8F93\u5165 ' + chalk.cyan.bold('maidang career') + ' \u67E5\u770B\u5DE5\u4F5C\u7ECF\u5386')}\n${chalk.gray('\u8F93\u5165 ' + chalk.cyan.bold('maidang cat') + ' \u6216 ' + chalk.cyan.bold('maidang meow') + ' \u67E5\u770B\u6211\u7684\u732B')}\n `;\n\n displayBox(welcomeContent, {\n padding: 2\n });\n\n console.log('');\n });\n\n return cmd;\n}\n", "{\n \"greetings\": [\n \"\u6B22\u8FCE\u6765\u5230\u9EA6\u5F53\u7684\u4E16\u754C\uFF01\uD83D\uDC4B\",\n \"\u4F60\u597D\u5440\uFF0C\u6211\u662F\u9EA6\u5F53\uFF01\u2728\",\n \"Hey\uFF0C\u6B22\u8FCE\u6765\u4E86\u89E3\u6211\uFF01\uD83C\uDF89\",\n \"\u63A2\u7D22\u9EA6\u5F53\u7684\u79D8\u5BC6\u82B1\u56ED \uD83C\uDF38\",\n \"\u51C6\u5907\u597D\u8BA4\u8BC6\u6211\u4E86\u5417\uFF1F\uD83D\uDE80\"\n ],\n \"basicInfo\": {\n \"name\": \"\u9EA6\u5F53\",\n \"role\": \"AI \u65F6\u4EE3\u7684\u63A2\u7D22\u8005\",\n \"motto\": \"\u4FDD\u6301\u597D\u5947\uFF0C\u6301\u7EED\u63A2\u7D22\"\n }\n}\n", "import chalk from 'chalk';\nimport boxen from 'boxen';\nimport figlet from 'figlet';\nimport ora, { Ora } from 'ora';\n\nexport async function displayTitle(text: string): Promise<void> {\n return new Promise((resolve) => {\n figlet.text(text, {\n font: 'Big',\n horizontalLayout: 'default',\n verticalLayout: 'default'\n }, (err, data) => {\n if (err) {\n console.log(chalk.cyan.bold(text));\n } else {\n console.log(chalk.cyan(data));\n }\n resolve();\n });\n });\n}\n\nexport function displayBox(content: string, options?: {\n title?: string;\n borderColor?: string;\n padding?: number;\n}): void {\n const borderOptions: any = {\n padding: options?.padding || 1,\n borderColor: options?.borderColor || 'cyan',\n borderStyle: 'round'\n };\n\n if (options?.title) {\n borderOptions.title = options.title;\n borderOptions.titleAlignment = 'center';\n }\n\n console.log(boxen(content, borderOptions));\n}\n\nexport function createSpinner(text: string): Ora {\n return ora({\n text,\n color: 'cyan'\n });\n}\n\nexport function displaySeparator(char: string = '\u2500', length: number = 50): void {\n console.log(chalk.gray(char.repeat(length)));\n}\n\nexport function displayItem(icon: string, text: string, color: string = 'cyan'): void {\n const colorMethod = (chalk as any)[color];\n if (colorMethod) {\n console.log(colorMethod(icon), text);\n } else {\n console.log(chalk.cyan(icon), text);\n }\n}\n\nexport function displaySection(title: string): void {\n displaySeparator();\n console.log(chalk.bold.cyan(`\\n${title}`));\n displaySeparator();\n}\n", "import { Command } from 'commander';\nimport chalk from 'chalk';\nimport careerData from '../data/career.json';\nimport { displaySection } from '../utils/display';\n\nexport function createCareerCommand(): Command {\n const cmd = new Command('career')\n .description('\u67E5\u770B\u6211\u7684\u5DE5\u4F5C\u7ECF\u5386')\n .action(() => {\n displaySection('\uD83D\uDCBC \u5DE5\u4F5C\u7ECF\u5386');\n\n careerData.career.forEach((job, index) => {\n console.log('');\n\n console.log(chalk.yellow.bold(`\uD83D\uDCCB ${job.company}`));\n console.log(chalk.cyan(` ${job.role}`));\n console.log(chalk.gray(` ${job.period}`));\n console.log('');\n\n console.log(chalk.white(' \uD83D\uDCDD ' + job.description));\n console.log('');\n\n if (job.achievements && job.achievements.length > 0) {\n console.log(chalk.gray(' \u4E3B\u8981\u6210\u5C31:'));\n job.achievements.forEach(achievement => {\n console.log(chalk.green(' \u2713 ' + achievement));\n });\n }\n\n if (index < careerData.career.length - 1) {\n console.log('');\n console.log(chalk.gray('\u2500'.repeat(40)));\n }\n });\n\n console.log('');\n });\n\n return cmd;\n}\n", "{\n \"career\": [\n {\n \"company\": \"\u5F71\u5200 RPA\uFF08AI Power \u56E2\u961F\uFF09\",\n \"role\": \"\u5168\u6808\u5DE5\u7A0B\u5E08 / AI Agent \u5F00\u53D1\u8005\",\n \"period\": \"2025.10 - \u81F3\u4ECA\",\n \"description\": \"\u805A\u7126 AI \u5DE5\u4F5C\u6D41\u5EFA\u8BBE\uFF0C\u4E3B\u5BFC AI Agent \u65B9\u6848\u8BBE\u8BA1\u4E0E\u843D\u5730\uFF0C\u63A8\u52A8\u4E1A\u52A1\u4ECE\u529F\u80FD\u5F00\u53D1\u8D70\u5411\u667A\u80FD\u5316\u6D41\u7A0B\u7F16\u6392\u3002\",\n \"achievements\": [\n \"\u8D1F\u8D23 AI \u5DE5\u4F5C\u6D41\u76F8\u5173\u80FD\u529B\u5EFA\u8BBE\uFF0C\u63A8\u52A8\u56E2\u961F\u5F62\u6210\u53EF\u590D\u7528\u7684\u6D41\u7A0B\u5316\u4EA4\u4ED8\u65B9\u5F0F\",\n \"\u62C5\u4EFB AI Agent \u6838\u5FC3\u5F00\u53D1\u8005\uFF0C\u8986\u76D6\u4ECE\u9700\u6C42\u62C6\u89E3\u3001\u63D0\u793A\u8BCD\u8BBE\u8BA1\u5230\u670D\u52A1\u7AEF\u843D\u5730\u7684\u5B8C\u6574\u94FE\u8DEF\",\n \"\u4EE5\u5168\u6808\u65B9\u5F0F\u534F\u540C\u524D\u540E\u7AEF\u5F00\u53D1\uFF0C\u63D0\u5347\u590D\u6742\u4E1A\u52A1\u5728\u7814\u53D1\u4FA7\u7684\u843D\u5730\u6548\u7387\",\n \"\u5728\u56E2\u961F\u5185\u63A8\u8FDB AI \u5DE5\u7A0B\u5316\u5B9E\u8DF5\uFF0C\u6301\u7EED\u63D0\u5347\u9879\u76EE\u7A33\u5B9A\u6027\u4E0E\u8FED\u4EE3\u901F\u5EA6\"\n ]\n },\n {\n \"company\": \"\u676D\u5DDE\u4E0D\u5FD8\u667A\u80FD\u79D1\u6280\u6709\u9650\u516C\u53F8\",\n \"role\": \"\u5168\u6808\u5F00\u53D1\u5DE5\u7A0B\u5E08\",\n \"period\": \"2024.10 - 2025.09\",\n \"description\": \"\u53C2\u4E0E AI \u89C6\u9891\u751F\u6210\u4E0E\u5E7F\u544A\u6295\u653E\u4EA7\u54C1\u5EFA\u8BBE\uFF0C\u8D1F\u8D23\u524D\u540E\u7AEF\u8054\u52A8\u548C\u6838\u5FC3\u529F\u80FD\u843D\u5730\u3002\",\n \"achievements\": [\n \"\u57FA\u4E8E Next.js + React + Node.js \u53C2\u4E0E\u9AD8\u4EA4\u4E92\u5E94\u7528\u4E0E\u4E2D\u53F0\u670D\u52A1\u5F00\u53D1\",\n \"\u53C2\u4E0E ASR\u3001LLM\u3001\u89C6\u9891\u4EFB\u52A1\u94FE\u8DEF\u7B49 AI \u76F8\u5173\u529F\u80FD\u5EFA\u8BBE\",\n \"\u53C2\u4E0E\u81EA\u52A8\u5316\u6295\u653E\u4E0E\u5DE5\u7A0B\u5316\u6D41\u7A0B\u5EFA\u8BBE\uFF0C\u63D0\u5347\u4E1A\u52A1\u5904\u7406\u6548\u7387\"\n ]\n },\n {\n \"company\": \"\u676D\u5DDE\u89C6\u674F\u79D1\u6280\u6709\u9650\u516C\u53F8\",\n \"role\": \"\u524D\u7AEF\u5F00\u53D1\u5DE5\u7A0B\u5E08\",\n \"period\": \"2022.10 - 2024.06\",\n \"description\": \"\u8D1F\u8D23\u524D\u7AEF\u5DE5\u7A0B\u5316\u3001\u4E1A\u52A1\u7CFB\u7EDF\u5F00\u53D1\u4E0E\u56E2\u961F\u534F\u4F5C\u6D41\u7A0B\u4F18\u5316\u3002\",\n \"achievements\": [\n \"\u63A8\u52A8\u89C4\u8303\u4F53\u7CFB\u843D\u5730\uFF08Lint\u3001Commit \u89C4\u8303\u3001\u811A\u624B\u67B6\u7B49\uFF09\uFF0C\u63D0\u5347\u56E2\u961F\u7814\u53D1\u4E00\u81F4\u6027\",\n \"\u53C2\u4E0E\u6784\u5EFA\u79C1\u6709\u5E93\u4E0E\u5DE5\u7A0B\u5316\u4F53\u7CFB\uFF0C\u63D0\u5347\u591A\u9879\u76EE\u590D\u7528\u6548\u7387\",\n \"\u652F\u6491\u540E\u53F0\u7CFB\u7EDF\u4E0E\u6838\u5FC3\u4E1A\u52A1\u9875\u9762\u7684\u6301\u7EED\u8FED\u4EE3\"\n ]\n },\n {\n \"company\": \"\u534E\u76D6\u5BB6\u5C45\u3001\u9177\u5BB6\u4E50\uFF08\u4E0D\u540C\u516C\u53F8\uFF09\",\n \"role\": \"\u524D\u7AEF\u5F00\u53D1\u5DE5\u7A0B\u5E08\",\n \"period\": \"2020.11 - 2022.06\",\n \"description\": \"\u65E9\u671F\u7ECF\u5386\uFF0C\u4E3B\u8981\u8D1F\u8D23 2D Canvas \u76F8\u5173\u529F\u80FD\u5F00\u53D1\u4E0E\u7EF4\u62A4\u3002\",\n \"achievements\": [\n \"\u53C2\u4E0E 2D \u8BBE\u8BA1\u5DE5\u5177\u4E0E\u4E3B\u7AD9\u76F8\u5173\u524D\u7AEF\u529F\u80FD\u5F00\u53D1\",\n \"\u8D1F\u8D23\u753B\u5E03\u4EA4\u4E92\u3001\u5386\u53F2\u8BB0\u5F55\u4E0E\u5FEB\u6377\u952E\u7B49\u80FD\u529B\u8FED\u4EE3\",\n \"\u4E0E\u4EA7\u54C1\u3001\u8BBE\u8BA1\u3001\u6D4B\u8BD5\u534F\u4F5C\u63A8\u8FDB\u7248\u672C\u4EA4\u4ED8\"\n ]\n }\n ]\n}\n", "import { Command } from 'commander';\nimport chalk from 'chalk';\nimport path from 'path';\nimport fs from 'fs';\n\nconst RETRO_PIXEL_WIDTH = 28;\nconst RETRO_PIXEL_HEIGHT = 16;\n\nconst resolveExecutableDir = (): string => {\n if (!process.argv[1]) {\n return process.cwd();\n }\n\n const executablePath = path.resolve(process.argv[1]);\n try {\n const resolvedExecutablePath = fs.realpathSync(executablePath);\n return path.dirname(resolvedExecutablePath);\n } catch {\n return path.dirname(executablePath);\n }\n};\n\nconst resolveCatImagePath = (): string | null => {\n const executableDir = resolveExecutableDir();\n const packageRootDir = path.resolve(executableDir, '..');\n const candidatePaths = [\n path.resolve(process.cwd(), 'src/assets/cat.jpg'),\n path.resolve(packageRootDir, 'src/assets/cat.jpg'),\n path.resolve(packageRootDir, 'dist/assets/cat.jpg'),\n path.resolve(executableDir, 'assets/cat.jpg'),\n path.resolve(executableDir, '../assets/cat.jpg')\n ];\n\n for (const candidatePath of candidatePaths) {\n if (fs.existsSync(candidatePath)) {\n return candidatePath;\n }\n }\n\n return null;\n};\n\nexport function createCatCommand(): Command {\n const cmd = new Command('cat')\n .alias('meow')\n .description('\u67E5\u770B\u9EA6\u9EA6')\n .action(async () => {\n console.log(chalk.yellow.bold('\u9EA6\u9EA6'));\n console.log('');\n\n try {\n const catImagePath = resolveCatImagePath();\n\n if (catImagePath) {\n try {\n const { default: terminalImage } = await import('terminal-image');\n const image = await terminalImage.file(catImagePath, {\n width: RETRO_PIXEL_WIDTH,\n height: RETRO_PIXEL_HEIGHT,\n preserveAspectRatio: true\n });\n\n console.log(image);\n } catch (error) {\n console.log(chalk.red('\u56FE\u7247\u6E32\u67D3\u5931\u8D25'));\n }\n } else {\n console.log(chalk.gray('\u8BF7\u5C06\u732B\u54AA\u56FE\u7247\u653E\u5728 src/assets/cat.jpg'));\n }\n } catch (error) {\n console.log(chalk.gray('\uD83D\uDCF8 \u8BF7\u5C06\u732B\u54AA\u56FE\u7247\u653E\u5728 src/assets/cat.jpg'));\n }\n\n console.log('');\n });\n\n return cmd;\n}\n", "/**\n * \u8BA1\u7B97\u9EA6\u5F53\u7684\u5E74\u9F84\u7248\u672C\u53F7\n * \u51FA\u751F\u65E5\u671F\uFF1A1997\u5E743\u670810\u65E5\n * \u8FD4\u56DE\u683C\u5F0F\uFF1A\u5E74\u9F84.\u5C0F\u7248\u672C\u53F7.\u8865\u4E01\u53F7\n */\nexport function getAgeVersion(): string {\n const birthDate = new Date(1997, 2, 10); // \u6708\u4EFD\u4ECE0\u5F00\u59CB\uFF0C\u6240\u4EE52\u662F3\u6708\n const today = new Date();\n\n let age = today.getFullYear() - birthDate.getFullYear();\n const monthDiff = today.getMonth() - birthDate.getMonth();\n\n // \u5982\u679C\u8FD8\u6CA1\u8FC7\u751F\u65E5\uFF0C\u5E74\u9F84\u51CF1\n if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthDate.getDate())) {\n age--;\n }\n\n // \u8FD9\u91CC\u7684\u5C0F\u7248\u672C\u548C\u8865\u4E01\u53F7\u53EF\u4EE5\u540E\u7EED\u4ECE package.json \u8BFB\u53D6\u6216\u56FA\u5B9A\n // \u73B0\u5728\u5148\u8FD4\u56DE\u7B80\u5355\u683C\u5F0F\n return `${age}.0.0`;\n}\n\n/**\n * \u83B7\u53D6\u7248\u672C\u53F7\u548C\u751F\u65E5\u4FE1\u606F\n */\nexport function getVersionInfo(): { version: string; birthDate: Date; currentAge: number; nextBirthday: Date } {\n const birthDate = new Date(1997, 2, 10); // 1997\u5E743\u670810\u65E5\n const today = new Date();\n\n let currentAge = today.getFullYear() - birthDate.getFullYear();\n const monthDiff = today.getMonth() - birthDate.getMonth();\n\n // \u8BA1\u7B97\u4E0B\u4E00\u4E2A\u751F\u65E5\n const nextBirthday = new Date(today.getFullYear(), birthDate.getMonth(), birthDate.getDate());\n\n if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthDate.getDate())) {\n currentAge--;\n } else {\n nextBirthday.setFullYear(today.getFullYear() + 1);\n }\n\n const version = `${currentAge}.0.0`;\n\n return {\n version,\n birthDate,\n currentAge,\n nextBirthday\n };\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": ["Command", "chalk", "chalk", "Command", "chalk", "Command", "chalk", "Command", "chalk", "Command"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maidang",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "type": "module",
5
5
  "description": "一个展示个人信息与职业经历的命令行工具",
6
6
  "main": "dist/index.js",