lithermes-ai 0.5.0

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 (133) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +245 -0
  3. package/README_Ko-KR.md +245 -0
  4. package/assets/lithermes-plugin/NOTICE.md +37 -0
  5. package/assets/lithermes-plugin/README.md +40 -0
  6. package/assets/lithermes-plugin/__init__.py +179 -0
  7. package/assets/lithermes-plugin/core.py +853 -0
  8. package/assets/lithermes-plugin/litgoal/__init__.py +10 -0
  9. package/assets/lithermes-plugin/litgoal/cli.py +133 -0
  10. package/assets/lithermes-plugin/litgoal/hook.py +48 -0
  11. package/assets/lithermes-plugin/litgoal/model.py +171 -0
  12. package/assets/lithermes-plugin/litgoal/runtime.py +273 -0
  13. package/assets/lithermes-plugin/litgoal/store.py +93 -0
  14. package/assets/lithermes-plugin/litgoal/tools.py +228 -0
  15. package/assets/lithermes-plugin/payload-version.json +471 -0
  16. package/assets/lithermes-plugin/plugin.yaml +9 -0
  17. package/assets/lithermes-plugin/skills/ai-slop-remover/SKILL.md +142 -0
  18. package/assets/lithermes-plugin/skills/comment-checker/SKILL.md +50 -0
  19. package/assets/lithermes-plugin/skills/debugging/SKILL.md +116 -0
  20. package/assets/lithermes-plugin/skills/debugging/references/methodology/00-setup.md +108 -0
  21. package/assets/lithermes-plugin/skills/debugging/references/methodology/02-investigate.md +121 -0
  22. package/assets/lithermes-plugin/skills/debugging/references/methodology/04-oracle-triple.md +136 -0
  23. package/assets/lithermes-plugin/skills/debugging/references/methodology/05-escalate.md +69 -0
  24. package/assets/lithermes-plugin/skills/debugging/references/methodology/06-fix.md +116 -0
  25. package/assets/lithermes-plugin/skills/debugging/references/methodology/08-qa.md +94 -0
  26. package/assets/lithermes-plugin/skills/debugging/references/methodology/09-cleanup.md +164 -0
  27. package/assets/lithermes-plugin/skills/debugging/references/methodology/partial-runtime-evidence.md +229 -0
  28. package/assets/lithermes-plugin/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
  29. package/assets/lithermes-plugin/skills/debugging/references/runtimes/go.md +252 -0
  30. package/assets/lithermes-plugin/skills/debugging/references/runtimes/native-binary.md +484 -0
  31. package/assets/lithermes-plugin/skills/debugging/references/runtimes/node.md +260 -0
  32. package/assets/lithermes-plugin/skills/debugging/references/runtimes/python.md +248 -0
  33. package/assets/lithermes-plugin/skills/debugging/references/runtimes/rust.md +234 -0
  34. package/assets/lithermes-plugin/skills/debugging/references/tools/ghidra.md +212 -0
  35. package/assets/lithermes-plugin/skills/debugging/references/tools/playwright-cli.md +194 -0
  36. package/assets/lithermes-plugin/skills/debugging/references/tools/pwndbg.md +263 -0
  37. package/assets/lithermes-plugin/skills/debugging/references/tools/pwntools.md +265 -0
  38. package/assets/lithermes-plugin/skills/frontend-ui-ux/SKILL.md +77 -0
  39. package/assets/lithermes-plugin/skills/lit-plan/SKILL.md +374 -0
  40. package/assets/lithermes-plugin/skills/litgoal/.gitkeep +0 -0
  41. package/assets/lithermes-plugin/skills/litgoal/SKILL.md +207 -0
  42. package/assets/lithermes-plugin/skills/litwork/SKILL.md +262 -0
  43. package/assets/lithermes-plugin/skills/lsp/SKILL.md +53 -0
  44. package/assets/lithermes-plugin/skills/programming/SKILL.md +463 -0
  45. package/assets/lithermes-plugin/skills/programming/references/go/README.md +90 -0
  46. package/assets/lithermes-plugin/skills/programming/references/go/backend-stack.md +641 -0
  47. package/assets/lithermes-plugin/skills/programming/references/go/bootstrap.md +328 -0
  48. package/assets/lithermes-plugin/skills/programming/references/go/bubbletea-v2.md +360 -0
  49. package/assets/lithermes-plugin/skills/programming/references/go/cobra-stack.md +468 -0
  50. package/assets/lithermes-plugin/skills/programming/references/go/concurrency.md +362 -0
  51. package/assets/lithermes-plugin/skills/programming/references/go/data-modeling.md +329 -0
  52. package/assets/lithermes-plugin/skills/programming/references/go/error-handling.md +359 -0
  53. package/assets/lithermes-plugin/skills/programming/references/go/golangci-strict.md +236 -0
  54. package/assets/lithermes-plugin/skills/programming/references/go/grpc-connect.md +375 -0
  55. package/assets/lithermes-plugin/skills/programming/references/go/libraries.md +337 -0
  56. package/assets/lithermes-plugin/skills/programming/references/go/one-liners.md +202 -0
  57. package/assets/lithermes-plugin/skills/programming/references/go/sqlc-pgx.md +471 -0
  58. package/assets/lithermes-plugin/skills/programming/references/go/testing.md +467 -0
  59. package/assets/lithermes-plugin/skills/programming/references/go/type-patterns.md +298 -0
  60. package/assets/lithermes-plugin/skills/programming/references/python/README.md +314 -0
  61. package/assets/lithermes-plugin/skills/programming/references/python/async-anyio.md +442 -0
  62. package/assets/lithermes-plugin/skills/programming/references/python/data-modeling.md +233 -0
  63. package/assets/lithermes-plugin/skills/programming/references/python/data-processing.md +133 -0
  64. package/assets/lithermes-plugin/skills/programming/references/python/error-handling.md +218 -0
  65. package/assets/lithermes-plugin/skills/programming/references/python/fastapi-stack.md +316 -0
  66. package/assets/lithermes-plugin/skills/programming/references/python/httpx2-optimization.md +360 -0
  67. package/assets/lithermes-plugin/skills/programming/references/python/libraries.md +307 -0
  68. package/assets/lithermes-plugin/skills/programming/references/python/one-liners.md +268 -0
  69. package/assets/lithermes-plugin/skills/programming/references/python/orjson-stack.md +378 -0
  70. package/assets/lithermes-plugin/skills/programming/references/python/pydantic-ai.md +285 -0
  71. package/assets/lithermes-plugin/skills/programming/references/python/pyproject-strict.md +232 -0
  72. package/assets/lithermes-plugin/skills/programming/references/python/textual-tui.md +201 -0
  73. package/assets/lithermes-plugin/skills/programming/references/python/type-patterns.md +176 -0
  74. package/assets/lithermes-plugin/skills/programming/references/rust/README.md +317 -0
  75. package/assets/lithermes-plugin/skills/programming/references/rust/async-tokio.md +299 -0
  76. package/assets/lithermes-plugin/skills/programming/references/rust/axum-stack.md +467 -0
  77. package/assets/lithermes-plugin/skills/programming/references/rust/cargo-strict.md +317 -0
  78. package/assets/lithermes-plugin/skills/programming/references/rust/clap-stack.md +409 -0
  79. package/assets/lithermes-plugin/skills/programming/references/rust/concurrency.md +375 -0
  80. package/assets/lithermes-plugin/skills/programming/references/rust/libraries.md +439 -0
  81. package/assets/lithermes-plugin/skills/programming/references/rust/one-liners.md +291 -0
  82. package/assets/lithermes-plugin/skills/programming/references/rust/proptest-insta.md +429 -0
  83. package/assets/lithermes-plugin/skills/programming/references/rust/type-state.md +354 -0
  84. package/assets/lithermes-plugin/skills/programming/references/rust/unsafe-discipline.md +250 -0
  85. package/assets/lithermes-plugin/skills/programming/references/rust/zero-cost-safety.md +527 -0
  86. package/assets/lithermes-plugin/skills/programming/references/rust-ub/README.md +289 -0
  87. package/assets/lithermes-plugin/skills/programming/references/rust-ub/miri-sanitizers-loom.md +411 -0
  88. package/assets/lithermes-plugin/skills/programming/references/rust-ub/ub-taxonomy.md +269 -0
  89. package/assets/lithermes-plugin/skills/programming/references/typescript/README.md +195 -0
  90. package/assets/lithermes-plugin/skills/programming/references/typescript/backend-hono.md +672 -0
  91. package/assets/lithermes-plugin/skills/programming/references/typescript/bootstrap.md +199 -0
  92. package/assets/lithermes-plugin/skills/programming/references/typescript/data-modeling.md +202 -0
  93. package/assets/lithermes-plugin/skills/programming/references/typescript/error-handling.md +169 -0
  94. package/assets/lithermes-plugin/skills/programming/references/typescript/tsconfig-strict.md +152 -0
  95. package/assets/lithermes-plugin/skills/programming/references/typescript/type-patterns.md +196 -0
  96. package/assets/lithermes-plugin/skills/programming/scripts/go/check-no-excuse-rules.sh +173 -0
  97. package/assets/lithermes-plugin/skills/programming/scripts/go/new-project.py +138 -0
  98. package/assets/lithermes-plugin/skills/programming/scripts/go/templates/.editorconfig +13 -0
  99. package/assets/lithermes-plugin/skills/programming/scripts/go/templates/.golangci.yml +95 -0
  100. package/assets/lithermes-plugin/skills/programming/scripts/go/templates/AGENTS.md.tmpl +24 -0
  101. package/assets/lithermes-plugin/skills/programming/scripts/go/templates/README.md.tmpl +12 -0
  102. package/assets/lithermes-plugin/skills/programming/scripts/go/templates/Taskfile.yml +40 -0
  103. package/assets/lithermes-plugin/skills/programming/scripts/go/templates/ci.yml +37 -0
  104. package/assets/lithermes-plugin/skills/programming/scripts/go/templates/config.go +24 -0
  105. package/assets/lithermes-plugin/skills/programming/scripts/go/templates/gitignore +15 -0
  106. package/assets/lithermes-plugin/skills/programming/scripts/go/templates/main.go.tmpl +22 -0
  107. package/assets/lithermes-plugin/skills/programming/scripts/go/templates/run.go +15 -0
  108. package/assets/lithermes-plugin/skills/programming/scripts/python/check-no-excuse-rules.py +687 -0
  109. package/assets/lithermes-plugin/skills/programming/scripts/python/new-project.py +172 -0
  110. package/assets/lithermes-plugin/skills/programming/scripts/python/new-script.py +116 -0
  111. package/assets/lithermes-plugin/skills/programming/scripts/rust/check-no-excuse-rules.py +296 -0
  112. package/assets/lithermes-plugin/skills/programming/scripts/rust/check-no-excuse-rules.sh +158 -0
  113. package/assets/lithermes-plugin/skills/programming/scripts/rust/new-project.py +175 -0
  114. package/assets/lithermes-plugin/skills/programming/scripts/typescript/check-no-excuse-rules.ts +282 -0
  115. package/assets/lithermes-plugin/skills/programming/scripts/typescript/new-project.ts +177 -0
  116. package/assets/lithermes-plugin/skills/refactor/SKILL.md +770 -0
  117. package/assets/lithermes-plugin/skills/remove-ai-slops/SKILL.md +335 -0
  118. package/assets/lithermes-plugin/skills/review-work/SKILL.md +562 -0
  119. package/assets/lithermes-plugin/skills/rules/SKILL.md +41 -0
  120. package/assets/lithermes-plugin/skills/start-work/SKILL.md +332 -0
  121. package/bin/lithermes.js +8 -0
  122. package/cover.png +0 -0
  123. package/package.json +39 -0
  124. package/src/cli.js +129 -0
  125. package/src/lib/check.js +94 -0
  126. package/src/lib/config.js +170 -0
  127. package/src/lib/files.js +65 -0
  128. package/src/lib/hermesDiscovery.js +50 -0
  129. package/src/lib/hud.js +121 -0
  130. package/src/lib/install.js +159 -0
  131. package/src/lib/patch.js +153 -0
  132. package/src/lib/skins.js +113 -0
  133. package/src/lib/spinner.js +104 -0
@@ -0,0 +1,177 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Scaffold a new TypeScript project with ultra-strict defaults.
4
+ *
5
+ * ─── How to run ───
6
+ * 1. Install Bun: curl -fsSL https://bun.sh/install | bash
7
+ * 2. Run:
8
+ * bun run scripts/new-project.ts my-api
9
+ * bun run scripts/new-project.ts my-api --path ./projects
10
+ * ──────────────────
11
+ *
12
+ * Creates:
13
+ * <name>/
14
+ * package.json (Bun + Hono + Zod + Drizzle + Biome)
15
+ * tsconfig.json (ultra-strict from tsconfig-strict.md)
16
+ * biome.json (strict from tsconfig-strict.md)
17
+ * src/index.ts (minimal Hono entrypoint)
18
+ * .gitignore
19
+ */
20
+
21
+ import { mkdirSync, writeFileSync, existsSync } from "node:fs";
22
+ import { join, resolve } from "node:path";
23
+ import { parseArgs } from "node:util";
24
+
25
+ const { values, positionals } = parseArgs({
26
+ args: Bun.argv.slice(2),
27
+ options: {
28
+ path: { type: "string", default: "." },
29
+ help: { type: "boolean", short: "h", default: false },
30
+ },
31
+ allowPositionals: true,
32
+ strict: true,
33
+ });
34
+
35
+ if (values.help || positionals.length === 0) {
36
+ console.log(`Usage: bun run new-project.ts <name> [--path <dir>]
37
+
38
+ Arguments:
39
+ name Project directory name (kebab-case)
40
+
41
+ Options:
42
+ --path Parent directory (default: current dir)
43
+ -h, --help Show this help`);
44
+ process.exit(positionals.length === 0 ? 2 : 0);
45
+ }
46
+
47
+ const name = positionals[0]!;
48
+ const root = resolve(values.path!, name);
49
+
50
+ if (existsSync(root)) {
51
+ console.error(`Error: ${root} already exists`);
52
+ process.exit(1);
53
+ }
54
+
55
+ // ── Directory structure ──
56
+ mkdirSync(join(root, "src"), { recursive: true });
57
+
58
+ // ── package.json ──
59
+ const pkg = {
60
+ name,
61
+ version: "0.0.1",
62
+ private: true,
63
+ type: "module",
64
+ scripts: {
65
+ dev: "bun --hot src/index.ts",
66
+ start: "bun src/index.ts",
67
+ check: "bunx biome check . && bunx tsc --noEmit && bun test",
68
+ "check:fix": "bunx biome check --write .",
69
+ test: "bun test",
70
+ },
71
+ dependencies: {
72
+ hono: "^4.12.5",
73
+ zod: "^3.24.0",
74
+ },
75
+ devDependencies: {
76
+ "@biomejs/biome": "^1.9.0",
77
+ "@types/bun": "latest",
78
+ typescript: "^5.8.0",
79
+ },
80
+ };
81
+ writeFileSync(join(root, "package.json"), JSON.stringify(pkg, null, 2) + "\n");
82
+
83
+ // ── tsconfig.json (ultra-strict) ──
84
+ const tsconfig = {
85
+ compilerOptions: {
86
+ strict: true,
87
+ noUncheckedIndexedAccess: true,
88
+ exactOptionalPropertyTypes: true,
89
+ noFallthroughCasesInSwitch: true,
90
+ forceConsistentCasingInFileNames: true,
91
+ verbatimModuleSyntax: true,
92
+ isolatedModules: true,
93
+ esModuleInterop: true,
94
+ resolveJsonModule: true,
95
+ target: "ESNext",
96
+ lib: ["ESNext"],
97
+ declaration: true,
98
+ declarationMap: true,
99
+ sourceMap: true,
100
+ outDir: "dist",
101
+ rootDir: "src",
102
+ module: "ESNext",
103
+ moduleResolution: "bundler",
104
+ types: ["bun-types"],
105
+ skipLibCheck: true,
106
+ noEmit: true,
107
+ },
108
+ include: ["src/**/*.ts"],
109
+ exclude: ["node_modules", "dist"],
110
+ };
111
+ writeFileSync(
112
+ join(root, "tsconfig.json"),
113
+ JSON.stringify(tsconfig, null, 2) + "\n",
114
+ );
115
+
116
+ // ── biome.json (strict) ──
117
+ const biome = {
118
+ $schema: "https://biomejs.dev/schemas/1.9.0/schema.json",
119
+ organizeImports: { enabled: true },
120
+ formatter: {
121
+ enabled: true,
122
+ indentStyle: "space",
123
+ indentWidth: 2,
124
+ lineWidth: 100,
125
+ },
126
+ linter: {
127
+ enabled: true,
128
+ rules: {
129
+ recommended: true,
130
+ complexity: {
131
+ noBannedTypes: "error",
132
+ noExtraBooleanCast: "error",
133
+ noUselessConstructor: "error",
134
+ noUselessRename: "error",
135
+ noVoid: "error",
136
+ },
137
+ correctness: {
138
+ noUnusedVariables: "error",
139
+ noUnusedImports: "error",
140
+ useExhaustiveDependencies: "warn",
141
+ },
142
+ style: {
143
+ noNonNullAssertion: "error",
144
+ useConst: "error",
145
+ noParameterAssign: "error",
146
+ },
147
+ suspicious: {
148
+ noExplicitAny: "error",
149
+ noAssertion: "warn",
150
+ },
151
+ },
152
+ },
153
+ };
154
+ writeFileSync(join(root, "biome.json"), JSON.stringify(biome, null, 2) + "\n");
155
+
156
+ // ── src/index.ts ──
157
+ const indexTs = `import { Hono } from "hono";
158
+
159
+ const app = new Hono();
160
+
161
+ app.get("/", (c) => c.json({ status: "ok" }));
162
+
163
+ export default app;
164
+ `;
165
+ writeFileSync(join(root, "src/index.ts"), indexTs);
166
+
167
+ // ── .gitignore ──
168
+ const gitignore = `node_modules/
169
+ dist/
170
+ *.tsbuildinfo
171
+ .env
172
+ .env.*
173
+ `;
174
+ writeFileSync(join(root, ".gitignore"), gitignore);
175
+
176
+ console.log(`✓ Created: ${root}`);
177
+ console.log(` cd ${name} && bun install && bun run check`);