imhcode 1.0.9 → 1.1.1

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/bin/imhcode.js CHANGED
@@ -1747,9 +1747,10 @@ async function generateSprintPlans(cwd, userPrompt, brainstormContent, config) {
1747
1747
  console.log(` ✅ Created PROJECT_BRIEF.md`);
1748
1748
 
1749
1749
  // Try LLM-powered sprint generation first (Fix 0)
1750
+ const assetsSummary = getAssetsSummary(cwd);
1750
1751
  const llmSprintResult = await tryLLMSprintGeneration(
1751
1752
  cwd, userPrompt, brainstormContent, config,
1752
- { hasFrontend, hasBackend, hasMobile, hasPayments, hasRealtime, designStyle, colorStyle, darkmode, detectedTesting, needsWorktrees }
1753
+ { hasFrontend, hasBackend, hasMobile, hasPayments, hasRealtime, designStyle, colorStyle, darkmode, detectedTesting, needsWorktrees, assetsSummary }
1753
1754
  );
1754
1755
 
1755
1756
  let lastSprintNum;
@@ -1786,7 +1787,7 @@ async function generateSprintPlans(cwd, userPrompt, brainstormContent, config) {
1786
1787
  * Attempt LLM-generated sprint plans. Returns { sprintCount } on success, null on failure.
1787
1788
  */
1788
1789
  async function tryLLMSprintGeneration(cwd, userPrompt, brainstormContent, config, scope) {
1789
- const { hasFrontend, hasBackend, hasMobile, hasPayments, hasRealtime, designStyle, colorStyle, darkmode, detectedTesting } = scope;
1790
+ const { hasFrontend, hasBackend, hasMobile, hasPayments, hasRealtime, designStyle, colorStyle, darkmode, detectedTesting, assetsSummary } = scope;
1790
1791
 
1791
1792
  const agentList = [
1792
1793
  'planner (planning)', 'designer (frontend)', 'nextjs-executor (frontend)', 'react-executor (frontend)',
@@ -1812,6 +1813,9 @@ ${userPrompt}
1812
1813
  ## Brainstorming Answers
1813
1814
  ${brainstormContent}
1814
1815
 
1816
+ ## Shared Assets & References
1817
+ ${assetsSummary || 'None'}
1818
+
1815
1819
  ## Scope
1816
1820
  - Frontend: ${hasFrontend ? 'YES' : 'NO'} (Design style: ${designStyle}, Colors: ${colorStyle}, Dark Mode Strategy: ${darkmode})
1817
1821
  - Backend: ${hasBackend ? 'YES' : 'NO'}
@@ -1864,7 +1868,9 @@ Return ONLY this JSON structure (no markdown, no explanation):
1864
1868
  9. If design style is Glassmorphism/Neumorphism — include a designer task for design tokens in Sprint 1
1865
1869
  10. If payments needed — include payment integration task in a sprint
1866
1870
  11. If realtime needed — include WebSocket/SSE task in a sprint
1867
- 12. Under Frontend, STRICTLY respect the Dark Mode Strategy: if strategy is "light only", do NOT generate any dark mode setups, variables, toggles or dark styles. If strategy is "always dark", design the UI strictly for dark backgrounds.`;
1871
+ 12. Under Frontend, STRICTLY respect the Dark Mode Strategy: if strategy is "light only", do NOT generate any dark mode setups, variables, toggles or dark styles. If strategy is "always dark", design the UI strictly for dark backgrounds.
1872
+ 13. If any shared assets or references are listed under "Shared Assets & References" (such as a backend folder, frontend theme components, config files, or stylesheets), you MUST generate sprint tasks that explicitly guide the agents to review, copy, integrate, or take implementation experience from these reference assets to build the new frontend/backend.
1873
+ 14. When designing tasks for backend/frontend scaffolding, instruct the agents to use the LATEST stable dependencies, commands, and coding styles, starting by running the official command-line initializers (like npx create-next-app@latest or composer create-project laravel/laravel) directly in the target directories to build a clean architecture structure.`;
1868
1874
 
1869
1875
  const llmOutput = await invokePlanningLLM(llmPrompt, config, cwd);
1870
1876
  if (!llmOutput) return null;
@@ -2203,6 +2209,47 @@ function extractPromptFromStartMd(content) {
2203
2209
  return lines.join(' ').slice(0, 500);
2204
2210
  }
2205
2211
 
2212
+ function getAssetsSummary(cwd) {
2213
+ const assetsDir = path.join(cwd, LOCAL_DIR_NAME, 'assets');
2214
+ if (!fs.existsSync(assetsDir)) {
2215
+ return 'None';
2216
+ }
2217
+
2218
+ const summary = [];
2219
+ try {
2220
+ const files = fs.readdirSync(assetsDir);
2221
+ if (files.length === 0) {
2222
+ return 'None';
2223
+ }
2224
+
2225
+ for (const file of files) {
2226
+ const filePath = path.join(assetsDir, file);
2227
+ const stat = fs.statSync(filePath);
2228
+
2229
+ if (stat.isDirectory()) {
2230
+ const subfiles = fs.readdirSync(filePath);
2231
+ summary.push(`- Directory \`${file}/\` containing ${subfiles.length} items (e.g. ${subfiles.slice(0, 5).map(f => "\`" + f + "\`").join(', ')}). This contains shared reference code/implementation for this category.`);
2232
+ } else {
2233
+ const ext = path.extname(file).toLowerCase();
2234
+ if (['.txt', '.md', '.json', '.js', '.ts', '.css', '.html', '.php', '.py'].includes(ext)) {
2235
+ try {
2236
+ const content = fs.readFileSync(filePath, 'utf8').slice(0, 500);
2237
+ summary.push(`- File \`${file}\` (\${stat.size} bytes). Preview of contents:\n\`\`\`\n\${content}\n\`\`\``);
2238
+ } catch {
2239
+ summary.push(`- File \`${file}\` (\${stat.size} bytes).`);
2240
+ }
2241
+ } else {
2242
+ summary.push(`- File \`${file}\` (\${stat.size} bytes) - type: \`\${ext || 'binary'}\`.`);
2243
+ }
2244
+ }
2245
+ }
2246
+ } catch (err) {
2247
+ return `Error scanning assets: \${err.message}`;
2248
+ }
2249
+
2250
+ return summary.join('\n');
2251
+ }
2252
+
2206
2253
  function resolveQuestionKey(content, keywords) {
2207
2254
  const regex = /\*\*(Q\d+):\s*([^\n*]+)\*\*/gi;
2208
2255
  let match;
@@ -176,12 +176,11 @@ function buildPrompt(agent, task, acceptanceCriteria, cwd) {
176
176
  .join("\n\n");
177
177
  parts.push(section(`Project Memory (${memoryFiles.length} files)`, memoryBlock));
178
178
  }
179
- // ── 4b. Assets & Branding Instructions ────────────────────────────────────
180
- if (cwd && category === "frontend") {
181
- parts.push(section("Assets & Branding Integration", `IMPORTANT: Check the \`.imhcode/assets/\` directory at the project root for any uploaded assets (e.g. logos, brand assets, images, text files, or raw content). ` +
182
- `If any such assets exist, you MUST:\n` +
183
- `1. Copy or integrate them into the frontend (e.g., \`frontend/public/\` or \`frontend/src/assets/\`).\n` +
184
- `2. Use their exact content, names, and images in the user interface (instead of placeholders or generic text).`));
179
+ // ── 4b. Assets & Shared References Integration ────────────────────────────
180
+ if (cwd) {
181
+ const partsList = [];
182
+ partsList.push(`IMPORTANT: Always inspect the \`.imhcode/assets/\` directory at the project root for any shared reference code, designs, or assets.`, `- **Logo & Branding Assets**: Look for logos (e.g. \`logo.svg\`, images) or styling files. You MUST copy/integrate them into the frontend (e.g. \`frontend/public/\` or \`frontend/src/assets/\`) and use them directly.`, `- **Shared Frontend/Theme References**: If a \`.imhcode/assets/frontend/\` or \`theme/\` folder exists, review the components, styling sheets, layouts, and pages inside it. Take exact design/coding patterns, or directly reuse the components in your new frontend implementation to match the requested look and feel.`, `- **Shared Backend References**: If a \`.imhcode/assets/backend/\` folder exists, review the database schemas, API routes, models, and business logic. Replicate the architecture, reuse logic patterns, and align your new backend code structure with this reference implementation.`, `- **Always Use Latest Stable Stacks**: When setting up the project structure, compile and install the LATEST stable versions of libraries/frameworks. If initializing the codebase, run official command-line initializers (e.g. \`npx create-next-app@latest ./ --ts --tailwind --eslint --app --src-dir --import-alias "@/*"\` or \`composer create-project laravel/laravel .\`) directly within the target directory (\`frontend/\` or \`backend/\`) to bootstrap proper settings, then organize into a clean architecture. Do NOT hardcode deprecated versions or patterns.`);
183
+ parts.push(section("Assets & Shared References Integration Guidelines", partsList.join("\n")));
185
184
  }
186
185
  // ── 5. Task ───────────────────────────────────────────────────────────────
187
186
  parts.push(section("Task", task));
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/orchestrator/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/orchestrator/builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "imhcode",
3
- "version": "1.0.9",
3
+ "version": "1.1.1",
4
4
  "description": "IMH-Code — Imam Hussain Coding Harness Platform. A fast-first multi-agent AI coding framework with intelligent model routing. 19 generic role-based agents (planner, nextjs-executor, laravel-executor, etc.), configurable testing strategy, and 7 token-saving optimizations for rapid MVP development.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -169,17 +169,17 @@ export function buildPrompt(
169
169
  parts.push(section(`Project Memory (${memoryFiles.length} files)`, memoryBlock));
170
170
  }
171
171
 
172
- // ── 4b. Assets & Branding Instructions ────────────────────────────────────
173
- if (cwd && category === "frontend") {
174
- parts.push(
175
- section(
176
- "Assets & Branding Integration",
177
- `IMPORTANT: Check the \`.imhcode/assets/\` directory at the project root for any uploaded assets (e.g. logos, brand assets, images, text files, or raw content). ` +
178
- `If any such assets exist, you MUST:\n` +
179
- `1. Copy or integrate them into the frontend (e.g., \`frontend/public/\` or \`frontend/src/assets/\`).\n` +
180
- `2. Use their exact content, names, and images in the user interface (instead of placeholders or generic text).`
181
- )
172
+ // ── 4b. Assets & Shared References Integration ────────────────────────────
173
+ if (cwd) {
174
+ const partsList: string[] = [];
175
+ partsList.push(
176
+ `IMPORTANT: Always inspect the \`.imhcode/assets/\` directory at the project root for any shared reference code, designs, or assets.`,
177
+ `- **Logo & Branding Assets**: Look for logos (e.g. \`logo.svg\`, images) or styling files. You MUST copy/integrate them into the frontend (e.g. \`frontend/public/\` or \`frontend/src/assets/\`) and use them directly.`,
178
+ `- **Shared Frontend/Theme References**: If a \`.imhcode/assets/frontend/\` or \`theme/\` folder exists, review the components, styling sheets, layouts, and pages inside it. Take exact design/coding patterns, or directly reuse the components in your new frontend implementation to match the requested look and feel.`,
179
+ `- **Shared Backend References**: If a \`.imhcode/assets/backend/\` folder exists, review the database schemas, API routes, models, and business logic. Replicate the architecture, reuse logic patterns, and align your new backend code structure with this reference implementation.`,
180
+ `- **Always Use Latest Stable Stacks**: When setting up the project structure, compile and install the LATEST stable versions of libraries/frameworks. If initializing the codebase, run official command-line initializers (e.g. \`npx create-next-app@latest ./ --ts --tailwind --eslint --app --src-dir --import-alias "@/*"\` or \`composer create-project laravel/laravel .\`) directly within the target directory (\`frontend/\` or \`backend/\`) to bootstrap proper settings, then organize into a clean architecture. Do NOT hardcode deprecated versions or patterns.`
182
181
  );
182
+ parts.push(section("Assets & Shared References Integration Guidelines", partsList.join("\n")));
183
183
  }
184
184
 
185
185
  // ── 5. Task ───────────────────────────────────────────────────────────────