@mr.dj2u/cli 0.1.16 → 0.1.17
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/bundles/claude-code/.claude-plugin/plugin.json +1 -1
- package/bundles/claude-code/.mcp.json +1 -1
- package/bundles/claude-code/commands/create-expo-super-stack.md +30 -3
- package/bundles/claude-code/skills/create-expo-super-stack/SKILL.md +31 -4
- package/bundles/codex/.codex-plugin/plugin.json +1 -1
- package/bundles/codex/.mcp.json +1 -1
- package/bundles/codex/README.md +14 -1
- package/bundles/codex/commands/create-expo-super-stack.md +30 -3
- package/bundles/codex/skills/workflow-create-expo-super-stack/SKILL.md +30 -3
- package/bundles/vscode-copilot/.github/prompts/create-expo-super-stack.prompt.md +30 -3
- package/bundles/vscode-copilot/.vscode/mcp.json +1 -1
- package/bundles/vscode-copilot/README.md +14 -0
- package/bundles/vscode-copilot/user/.copilot/skills/workflow-create-expo-super-stack/SKILL.md +30 -3
- package/dist/cess-intake.d.ts.map +1 -1
- package/dist/cess-intake.js +4 -5
- package/dist/cess-intake.js.map +1 -1
- package/dist/cli.js +0 -0
- package/dist/commands/mcp-install.d.ts +2 -2
- package/dist/commands/mcp-install.js +1 -1
- package/dist/project-memory.d.ts.map +1 -1
- package/dist/project-memory.js +3 -0
- package/dist/project-memory.js.map +1 -1
- package/dist/roadmap.d.ts +7 -2
- package/dist/roadmap.d.ts.map +1 -1
- package/dist/roadmap.js +243 -26
- package/dist/roadmap.js.map +1 -1
- package/package.json +75 -76
package/dist/roadmap.js
CHANGED
|
@@ -3,6 +3,17 @@ import path from 'node:path';
|
|
|
3
3
|
const TODO_FOR_CONTEXT_MARKER = '# TodoForContext(optional):';
|
|
4
4
|
const LEGACY_MARKER_PREFIX = '<!-- MDS_DERIVED_PHASE_';
|
|
5
5
|
const ROADMAP_STATE_FILE = 'roadmap-state.json';
|
|
6
|
+
const LEGACY_SCAFFOLD_TASK_KEYS = new Set([
|
|
7
|
+
'review project files for accuracy and planning adjustments',
|
|
8
|
+
'resolve every todoforcontext optional marker in project info md by filling the section underneath or deleting the marker line to acknowledge no extra context is needed',
|
|
9
|
+
'refresh the agent derived roadmap from project info md and review it for accuracy before implementation',
|
|
10
|
+
'establish the app shell and first implementation ready route for the mvp',
|
|
11
|
+
'implement the first concrete product flow from project info md and the roadmap',
|
|
12
|
+
'implement the initial data layer and service boundaries needed for the mvp',
|
|
13
|
+
'complete the remaining product flows needed for the mvp',
|
|
14
|
+
'run mds doctor ci and address errors before release',
|
|
15
|
+
'prepare store distribution packaging review notes and release validation for the chosen delivery path',
|
|
16
|
+
]);
|
|
6
17
|
export const ROADMAP_BLOCKED_MARKER_WARNING = 'Roadmap generation is blocked until every `# TodoForContext(optional):` marker in `project/` is resolved. Fill the section underneath or delete the marker line first.';
|
|
7
18
|
export const ROADMAP_CLARIFICATION_WARNING = 'Roadmap generation needs clarification because `project/info.md` still reads as too generic for high-confidence product planning.';
|
|
8
19
|
const PHASE_SPECS = [
|
|
@@ -178,6 +189,7 @@ export async function generateProjectRoadmap(projectPathInput = '.', options = {
|
|
|
178
189
|
const existingTodo = (await pathExists(todoPath))
|
|
179
190
|
? await readFile(todoPath, 'utf8')
|
|
180
191
|
: renderTodoSkeleton(extractProjectName(infoRaw));
|
|
192
|
+
const roadmapContext = await inspectRoadmapProjectContext(projectPath);
|
|
181
193
|
const markerHits = await scanProjectTodoForContextMarkers(projectPath, { scope: 'info' });
|
|
182
194
|
if (markerHits.length > 0) {
|
|
183
195
|
return {
|
|
@@ -222,7 +234,7 @@ export async function generateProjectRoadmap(projectPathInput = '.', options = {
|
|
|
222
234
|
};
|
|
223
235
|
}
|
|
224
236
|
const warnings = [];
|
|
225
|
-
const derivedPhases = deriveRoadmapPhases(sections, warnings);
|
|
237
|
+
const derivedPhases = deriveRoadmapPhases(sections, warnings, roadmapContext);
|
|
226
238
|
const previousState = (await readRoadmapState(roadmapStatePath)) ?? inferLegacyRoadmapState(existingTodo);
|
|
227
239
|
const nextState = buildRoadmapState(derivedPhases);
|
|
228
240
|
const merged = mergeRoadmapIntoTodo(existingTodo, derivedPhases, previousState, preserveStatus);
|
|
@@ -297,7 +309,11 @@ export function parseInfoSections(infoRaw) {
|
|
|
297
309
|
flush();
|
|
298
310
|
return map;
|
|
299
311
|
}
|
|
300
|
-
export function deriveRoadmapPhases(sections, warnings = []
|
|
312
|
+
export function deriveRoadmapPhases(sections, warnings = [], context = {
|
|
313
|
+
appDirectory: null,
|
|
314
|
+
hasExposition: false,
|
|
315
|
+
hasStylist: false,
|
|
316
|
+
}) {
|
|
301
317
|
const phaseTasks = new Map(PHASE_SPECS.map((phase) => [phase.id, []]));
|
|
302
318
|
const seen = new Map(PHASE_SPECS.map((phase) => [phase.id, new Set()]));
|
|
303
319
|
const addTask = (phaseId, text, source) => {
|
|
@@ -322,12 +338,70 @@ export function deriveRoadmapPhases(sections, warnings = []) {
|
|
|
322
338
|
const featureItems = extractSectionItems(sections.coreFeatures?.content);
|
|
323
339
|
const screenItems = extractSectionItems(sections.mustIncludeScreensOrFlows?.content);
|
|
324
340
|
const techStackItems = extractSectionItems(sections.techStack?.content);
|
|
325
|
-
const dataItems = [...extractSectionItems(sections.dataAndBackend?.content), ...techStackItems];
|
|
326
|
-
const releaseItems = [...extractSectionItems(sections.releaseStrategy?.content), ...techStackItems];
|
|
327
341
|
const monetizationItems = extractSectionItems(sections.monetizationStrategy?.content);
|
|
328
342
|
const questionItems = extractSectionItems(sections.questionsToRevisit?.content);
|
|
329
343
|
const platformItems = extractSectionItems(sections.platforms?.content);
|
|
330
|
-
const packageItems = [
|
|
344
|
+
const packageItems = buildMeaningfulItemList([
|
|
345
|
+
...extractSectionItems(sections.packageChoices?.content),
|
|
346
|
+
getLabeledSectionValue(sections.techStack?.content, 'Navigation'),
|
|
347
|
+
getLabeledSectionValue(sections.techStack?.content, 'Style Library'),
|
|
348
|
+
parseYesNoValue(getLabeledSectionValue(sections.techStack?.content, 'Expo UI')) === true
|
|
349
|
+
? 'Expo UI'
|
|
350
|
+
: null,
|
|
351
|
+
parseYesNoValue(getLabeledSectionValue(sections.techStack?.content, 'Expo Native Tabs')) === true
|
|
352
|
+
? 'Expo Native Tabs'
|
|
353
|
+
: null,
|
|
354
|
+
...techStackItems.filter((item) => /software mansion/i.test(item)),
|
|
355
|
+
]);
|
|
356
|
+
const techStackContent = sections.techStack?.content;
|
|
357
|
+
const startingDataMode = getLabeledSectionValue(techStackContent, 'Starting Data mode');
|
|
358
|
+
const easEnabled = parseYesNoValue(getLabeledSectionValue(techStackContent, 'EAS'));
|
|
359
|
+
const easUses = splitChoiceList(getLabeledSectionValue(techStackContent, 'EAS Usage'));
|
|
360
|
+
const testToMainSafeguards = parseYesNoValue(getLabeledSectionValue(techStackContent, 'Use test-to-main safeguards'));
|
|
361
|
+
const deployedServer = getLabeledSectionValue(techStackContent, 'Deployed server');
|
|
362
|
+
const webOutput = getLabeledSectionValue(techStackContent, 'Web output');
|
|
363
|
+
const routeDirectory = extractRouteDirectory(sections, context);
|
|
364
|
+
const firstTargetPlatform = getLabeledSectionValue(sections.platforms?.content, 'First MVP platform') ??
|
|
365
|
+
getLabeledSectionValue(techStackContent, 'First MVP platform');
|
|
366
|
+
const dataItems = buildMeaningfulItemList([
|
|
367
|
+
...extractSectionItems(sections.dataAndBackend?.content),
|
|
368
|
+
getLabeledSectionValue(techStackContent, 'Data Categories'),
|
|
369
|
+
startingDataMode,
|
|
370
|
+
toEnabledLabel(getLabeledSectionValue(techStackContent, 'Auth'), 'Auth'),
|
|
371
|
+
toEnabledLabel(getLabeledSectionValue(techStackContent, 'State management library'), 'State management'),
|
|
372
|
+
]);
|
|
373
|
+
const releaseItems = buildMeaningfulItemList([
|
|
374
|
+
...extractSectionItems(sections.releaseStrategy?.content),
|
|
375
|
+
getLabeledSectionValue(techStackContent, 'Initial Deployment plan'),
|
|
376
|
+
testToMainSafeguards === true ? 'test-to-main safeguards' : null,
|
|
377
|
+
shouldSkipServerReleaseTask(deployedServer, webOutput) ? null : deployedServer,
|
|
378
|
+
webOutput && normalizeTaskKey(webOutput) !== 'none' ? `web output: ${webOutput}` : null,
|
|
379
|
+
]);
|
|
380
|
+
const effectiveMonetizationItems = isNoMonetizationPlan(sections.monetizationStrategy?.content)
|
|
381
|
+
? []
|
|
382
|
+
: monetizationItems;
|
|
383
|
+
addTask('phase-0', 'Review `project/` files for accuracy and planning adjustments.', 'setup');
|
|
384
|
+
if (context.hasExposition) {
|
|
385
|
+
addTask('phase-0', 'Browse exposition pages to understand the included starter flows, package demos, and MDS scaffolding.', 'setup');
|
|
386
|
+
addTask('phase-0', 'Run `mds eject exposition` and keep only the generated sections you want to retain.', 'setup');
|
|
387
|
+
addTask('phase-0', 'Keep or prune included package examples after reviewing `/exposition`.', 'setup');
|
|
388
|
+
addTask('phase-0', 'Remove exposition pages before production once their lessons are absorbed.', 'setup');
|
|
389
|
+
}
|
|
390
|
+
if (context.hasStylist) {
|
|
391
|
+
addTask('phase-0', "Review styling in the 'Stylist' page and pressure-test the starter theme before building product screens.", 'setup');
|
|
392
|
+
addTask('phase-0', 'Run or defer `eject-stylist`; mark this todo done after ejection or deciding to keep it longer for design iteration.', 'setup');
|
|
393
|
+
}
|
|
394
|
+
addTask('phase-0', context.hasStylist
|
|
395
|
+
? 'Confirm visual direction in `project/style.md` after reviewing the Stylist page.'
|
|
396
|
+
: 'Confirm the visual direction in `project/style.md` before implementation accelerates.', 'setup');
|
|
397
|
+
if (easEnabled === true || easUses.length > 0) {
|
|
398
|
+
addTask('phase-0', 'Sign in and set up EAS in the terminal.', 'setup');
|
|
399
|
+
}
|
|
400
|
+
addTask('phase-0', 'If `project/info.md` changes materially, rerun `mds roadmap` and review this plan before continuing implementation.', 'setup');
|
|
401
|
+
addTask('phase-1', routeDirectory
|
|
402
|
+
? `Establish the app shell and first implementation-ready route in ${routeDirectory}.`
|
|
403
|
+
: 'Establish the app shell and first implementation-ready route for the MVP.', 'screen');
|
|
404
|
+
addTask('phase-1', 'Implement the first concrete product flow from `project/info.md` and the roadmap.', 'core-flow');
|
|
331
405
|
const firstFlow = flowItems[0];
|
|
332
406
|
if (firstFlow) {
|
|
333
407
|
addTask('phase-1', `Implement the first core user flow: ${firstFlow}.`, 'core-flow');
|
|
@@ -343,20 +417,34 @@ export function deriveRoadmapPhases(sections, warnings = []) {
|
|
|
343
417
|
if (firstFeatures.length > 0) {
|
|
344
418
|
addTask('phase-1', `Scope the first feature modules around: ${formatTaskList(firstFeatures)}.`, 'feature');
|
|
345
419
|
}
|
|
420
|
+
if (startingDataMode) {
|
|
421
|
+
addTask('phase-2', `Implement the initial data layer using ${startingDataMode}.`, 'data');
|
|
422
|
+
if (/\bsupabase\b/i.test(startingDataMode)) {
|
|
423
|
+
addTask('phase-2', 'Create separate Supabase projects for test/staging and production before shared data work expands.', 'data');
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
addTask('phase-2', 'Implement the initial data layer and service boundaries needed for the MVP.', 'data');
|
|
428
|
+
}
|
|
346
429
|
if (dataItems.length > 0) {
|
|
347
430
|
addTask('phase-2', `Design the initial data layer and service boundaries for: ${formatTaskList(pickDistinct(dataItems, 3))}.`, 'data');
|
|
348
431
|
}
|
|
349
432
|
else {
|
|
350
433
|
warnings.push('No concrete data/backend notes were found in `project/info.md`; data-layer work will rely on the scaffolded phase anchors until clarified.');
|
|
351
434
|
}
|
|
352
|
-
const keywordSource = [dataItems, releaseItems,
|
|
435
|
+
const keywordSource = [dataItems, releaseItems, effectiveMonetizationItems, packageItems, platformItems]
|
|
353
436
|
.flat()
|
|
354
437
|
.join(' ');
|
|
355
438
|
for (const task of KEYWORD_TASKS) {
|
|
439
|
+
if (task.text === 'Validate the production web/server hosting path, environment ownership, and rollout checklist.' &&
|
|
440
|
+
shouldSkipServerReleaseTask(deployedServer, webOutput)) {
|
|
441
|
+
continue;
|
|
442
|
+
}
|
|
356
443
|
if (task.patterns.some((pattern) => pattern.test(keywordSource))) {
|
|
357
444
|
addTask(task.phaseId, task.text, task.source);
|
|
358
445
|
}
|
|
359
446
|
}
|
|
447
|
+
addTask('phase-3', 'Build the remaining core flows from `project/info.md` phase by phase.', 'core-flow');
|
|
360
448
|
const remainingFlows = flowItems.slice(1);
|
|
361
449
|
if (remainingFlows.length > 0) {
|
|
362
450
|
addTask('phase-3', `Implement the remaining core flows from ` +
|
|
@@ -367,12 +455,34 @@ export function deriveRoadmapPhases(sections, warnings = []) {
|
|
|
367
455
|
if (remainingScreens.length > 0) {
|
|
368
456
|
addTask('phase-3', `Add the remaining must-include screens or workflows: ${formatTaskList(pickDistinct(remainingScreens, 4))}.`, 'screen');
|
|
369
457
|
}
|
|
370
|
-
if (
|
|
371
|
-
|
|
458
|
+
if (effectiveMonetizationItems.length > 0 &&
|
|
459
|
+
!isPlaceholderSection(sections.monetizationStrategy?.content) &&
|
|
460
|
+
!isNoMonetizationPlan(sections.monetizationStrategy?.content)) {
|
|
461
|
+
addTask('phase-3', `Translate the monetization or business model into product work: ${formatTaskList(pickDistinct(effectiveMonetizationItems, 2))}.`, 'monetization');
|
|
372
462
|
}
|
|
373
|
-
const
|
|
374
|
-
|
|
375
|
-
|
|
463
|
+
const targetPlatforms = extractPlatformTargets(platformItems);
|
|
464
|
+
const normalizedFirstTargetPlatform = normalizeTaskKey(firstTargetPlatform ?? '');
|
|
465
|
+
const remainingPlatforms = targetPlatforms.filter((platform) => normalizeTaskKey(platform) !== normalizedFirstTargetPlatform);
|
|
466
|
+
if (remainingPlatforms.length > 0) {
|
|
467
|
+
addTask('phase-3', `Adapt the working MVP flow for the remaining target platforms after the primary flow is stable: ${formatTaskList(remainingPlatforms)}.`, 'platform');
|
|
468
|
+
}
|
|
469
|
+
for (const easUse of easUses) {
|
|
470
|
+
addTask('phase-3', `Configure EAS for ${easUse}.`, 'integration');
|
|
471
|
+
}
|
|
472
|
+
addTask('phase-4', 'Run `mds doctor --ci` and address errors.', 'release');
|
|
473
|
+
if (testToMainSafeguards === true) {
|
|
474
|
+
addTask('phase-4', 'Follow `project/release-flow.md` for test-to-main development.', 'release');
|
|
475
|
+
addTask('phase-4', 'Complete the one-time GitHub repo setup from `project/release-flow.md` so `test` and `main` are protected correctly.', 'release');
|
|
476
|
+
addTask('phase-4', 'Add GitHub branch protection so PR checks pass before merging into `test` or `main`.', 'release');
|
|
477
|
+
}
|
|
478
|
+
else if (testToMainSafeguards === false) {
|
|
479
|
+
addTask('phase-4', 'Decide on release safeguards before production work begins.', 'release');
|
|
480
|
+
}
|
|
481
|
+
if (webOutput && normalizeTaskKey(webOutput) !== 'none') {
|
|
482
|
+
addTask('phase-4', `Confirm Expo web output mode: ${webOutput}.`, 'release');
|
|
483
|
+
}
|
|
484
|
+
if (deployedServer && !shouldSkipServerReleaseTask(deployedServer, webOutput)) {
|
|
485
|
+
addTask('phase-4', `Plan deployed server work: ${deployedServer}.`, 'release');
|
|
376
486
|
}
|
|
377
487
|
if (releaseItems.length > 0) {
|
|
378
488
|
addTask('phase-4', `Prepare the release flow for: ${formatTaskList(pickDistinct(releaseItems, 3))}.`, 'release');
|
|
@@ -424,6 +534,13 @@ export async function scanProjectTodoForContextMarkers(projectPathInput = '.', o
|
|
|
424
534
|
}
|
|
425
535
|
function detectRoadmapClarificationNeeds(sections) {
|
|
426
536
|
const checks = [];
|
|
537
|
+
const releaseSignal = [
|
|
538
|
+
sections.releaseStrategy?.content,
|
|
539
|
+
getLabeledSectionValue(sections.techStack?.content, 'Initial Deployment plan'),
|
|
540
|
+
getLabeledSectionValue(sections.techStack?.content, 'EAS Usage'),
|
|
541
|
+
]
|
|
542
|
+
.filter((value) => Boolean(value))
|
|
543
|
+
.join('\n\n');
|
|
427
544
|
if (isMissingOrLowConfidenceSection(sections.targetUsers?.content, 'audience')) {
|
|
428
545
|
checks.push({
|
|
429
546
|
warning: '`project/info.md` still has a generic target audience, so roadmap generation cannot tell who the first experience is really for.',
|
|
@@ -457,7 +574,7 @@ function detectRoadmapClarificationNeeds(sections) {
|
|
|
457
574
|
},
|
|
458
575
|
});
|
|
459
576
|
}
|
|
460
|
-
if (isMissingOrLowConfidenceSection(
|
|
577
|
+
if (isMissingOrLowConfidenceSection(releaseSignal || undefined, 'release')) {
|
|
461
578
|
checks.push({
|
|
462
579
|
warning: '`project/info.md` still has a generic release/distribution plan, so release-phase tasks would be mostly filler.',
|
|
463
580
|
question: {
|
|
@@ -512,6 +629,9 @@ function rebuildPhaseSection(existingSectionLines, derivedTasks, previousDerived
|
|
|
512
629
|
if (!checkbox) {
|
|
513
630
|
return true;
|
|
514
631
|
}
|
|
632
|
+
if (LEGACY_SCAFFOLD_TASK_KEYS.has(normalizeTaskKey(checkbox.text))) {
|
|
633
|
+
return false;
|
|
634
|
+
}
|
|
515
635
|
return !previousDerivedKeys.has(normalizeTaskKey(checkbox.text));
|
|
516
636
|
}));
|
|
517
637
|
const nextDerivedLines = derivedTasks.map((task) => {
|
|
@@ -720,6 +840,96 @@ function extractPlatformTargets(platformItems) {
|
|
|
720
840
|
});
|
|
721
841
|
return uniqueItems(values);
|
|
722
842
|
}
|
|
843
|
+
function getLabeledSectionValue(content, ...labels) {
|
|
844
|
+
if (!content) {
|
|
845
|
+
return null;
|
|
846
|
+
}
|
|
847
|
+
const lines = normalizeLineEndings(content).split('\n');
|
|
848
|
+
for (const rawLine of lines) {
|
|
849
|
+
const line = rawLine.replace(/^\s*[-*]\s+/u, '').trim();
|
|
850
|
+
for (const label of labels) {
|
|
851
|
+
const match = new RegExp(`^${escapeRegExp(label)}\\s*:\\s*(.+)$`, 'i').exec(line);
|
|
852
|
+
if (match?.[1]) {
|
|
853
|
+
return cleanTaskText(match[1]);
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
return null;
|
|
858
|
+
}
|
|
859
|
+
function extractRouteDirectory(sections, context) {
|
|
860
|
+
const labeled = getLabeledSectionValue(sections.techStack?.content, 'Expo Router app directory') ??
|
|
861
|
+
getLabeledSectionValue(sections.platforms?.content, 'Expo Router app directory');
|
|
862
|
+
if (labeled) {
|
|
863
|
+
const normalized = normalizeTaskKey(labeled);
|
|
864
|
+
if (normalized === 'src app') {
|
|
865
|
+
return 'src/app';
|
|
866
|
+
}
|
|
867
|
+
if (normalized === 'app') {
|
|
868
|
+
return 'app';
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
const platformContent = normalizeLineEndings(sections.platforms?.content ?? '');
|
|
872
|
+
const routeMatch = /routes live under\s+`?(src\/app|app)`?/iu.exec(platformContent);
|
|
873
|
+
if (routeMatch?.[1]) {
|
|
874
|
+
return routeMatch[1] === 'src/app' ? 'src/app' : 'app';
|
|
875
|
+
}
|
|
876
|
+
return context.appDirectory;
|
|
877
|
+
}
|
|
878
|
+
function parseYesNoValue(value) {
|
|
879
|
+
if (!value) {
|
|
880
|
+
return null;
|
|
881
|
+
}
|
|
882
|
+
const normalized = normalizeTaskKey(value);
|
|
883
|
+
if (normalized === 'yes') {
|
|
884
|
+
return true;
|
|
885
|
+
}
|
|
886
|
+
if (normalized === 'no') {
|
|
887
|
+
return false;
|
|
888
|
+
}
|
|
889
|
+
return null;
|
|
890
|
+
}
|
|
891
|
+
function splitChoiceList(value) {
|
|
892
|
+
if (!value) {
|
|
893
|
+
return [];
|
|
894
|
+
}
|
|
895
|
+
return uniqueItems(value
|
|
896
|
+
.split(/,|\band\b/iu)
|
|
897
|
+
.map((item) => cleanTaskText(item))
|
|
898
|
+
.filter(Boolean));
|
|
899
|
+
}
|
|
900
|
+
function buildMeaningfulItemList(items) {
|
|
901
|
+
return uniqueItems(items
|
|
902
|
+
.map((item) => cleanTaskText(item ?? ''))
|
|
903
|
+
.filter(Boolean)
|
|
904
|
+
.filter((item) => !isNoneLikeValue(item)));
|
|
905
|
+
}
|
|
906
|
+
function toEnabledLabel(value, label) {
|
|
907
|
+
if (!value || isNoneLikeValue(value)) {
|
|
908
|
+
return null;
|
|
909
|
+
}
|
|
910
|
+
return `${label}: ${value}`;
|
|
911
|
+
}
|
|
912
|
+
function shouldSkipServerReleaseTask(deployedServer, webOutput) {
|
|
913
|
+
const normalizedServer = normalizeTaskKey(deployedServer ?? '');
|
|
914
|
+
const normalizedWebOutput = normalizeTaskKey(webOutput ?? '');
|
|
915
|
+
const hasExplicitNoServer = normalizedServer === 'no deployed server planned' || normalizedServer === 'none';
|
|
916
|
+
const hasExplicitNoWeb = normalizedWebOutput === 'none';
|
|
917
|
+
return hasExplicitNoServer && hasExplicitNoWeb;
|
|
918
|
+
}
|
|
919
|
+
function isNoMonetizationPlan(content) {
|
|
920
|
+
if (!content) {
|
|
921
|
+
return false;
|
|
922
|
+
}
|
|
923
|
+
return /\bno monetization\b/i.test(content) || /\bnot moneti[sz]ing\b/i.test(content);
|
|
924
|
+
}
|
|
925
|
+
function isNoneLikeValue(value) {
|
|
926
|
+
const normalized = normalizeTaskKey(value);
|
|
927
|
+
return (normalized === 'none' ||
|
|
928
|
+
normalized === 'no' ||
|
|
929
|
+
normalized === 'not planned yet' ||
|
|
930
|
+
normalized === 'no auth planned yet' ||
|
|
931
|
+
normalized === 'no deployed server planned');
|
|
932
|
+
}
|
|
723
933
|
function formatTaskList(items) {
|
|
724
934
|
const picked = pickDistinct(items, 4);
|
|
725
935
|
if (picked.length === 0) {
|
|
@@ -759,7 +969,7 @@ function cleanTaskText(value) {
|
|
|
759
969
|
.replace(/\s+/g, ' ')
|
|
760
970
|
.replace(/\s+\.$/, '.')
|
|
761
971
|
.trim()
|
|
762
|
-
.replace(/[
|
|
972
|
+
.replace(/[;,:.-]+$/u, '')
|
|
763
973
|
.trim();
|
|
764
974
|
}
|
|
765
975
|
function normalizeTaskKey(value) {
|
|
@@ -770,6 +980,9 @@ function normalizeTaskKey(value) {
|
|
|
770
980
|
.replace(/\s+/g, ' ')
|
|
771
981
|
.trim();
|
|
772
982
|
}
|
|
983
|
+
function escapeRegExp(value) {
|
|
984
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
985
|
+
}
|
|
773
986
|
function isMissingOrLowConfidenceSection(content, kind) {
|
|
774
987
|
if (!content || isPlaceholderSection(content)) {
|
|
775
988
|
return true;
|
|
@@ -804,29 +1017,33 @@ function renderTodoSkeleton(appName) {
|
|
|
804
1017
|
'',
|
|
805
1018
|
'## Phase 0: Orientation And Planning',
|
|
806
1019
|
'',
|
|
807
|
-
'- [ ] Review `project/` files for accuracy and planning adjustments.',
|
|
808
|
-
'- [ ] Resolve every `# TodoForContext(optional):` marker in `project/info.md` by filling the section underneath or deleting the marker line to acknowledge no extra context is needed.',
|
|
809
|
-
'- [ ] Refresh the agent-derived roadmap from `project/info.md` and review it for accuracy before implementation.',
|
|
810
|
-
'',
|
|
811
1020
|
'## Phase 1: App Shell And First Flow',
|
|
812
1021
|
'',
|
|
813
|
-
'- [ ] Establish the app shell and first implementation-ready route for the MVP.',
|
|
814
|
-
'- [ ] Implement the first concrete product flow from `project/info.md` and the roadmap.',
|
|
815
|
-
'',
|
|
816
1022
|
'## Phase 2: Data Layer',
|
|
817
1023
|
'',
|
|
818
|
-
'- [ ] Implement the initial data layer and service boundaries needed for the MVP.',
|
|
819
|
-
'',
|
|
820
1024
|
'## Phase 3: Complete Product Flows',
|
|
821
1025
|
'',
|
|
822
|
-
'- [ ] Complete the remaining product flows needed for the MVP.',
|
|
823
|
-
'',
|
|
824
1026
|
'## Phase 4: Polish, Safeguards, And Release',
|
|
825
1027
|
'',
|
|
826
|
-
'- [ ] Run `mds doctor --ci` and address errors before release.',
|
|
827
|
-
'',
|
|
828
1028
|
].join('\n');
|
|
829
1029
|
}
|
|
1030
|
+
async function inspectRoadmapProjectContext(projectPath) {
|
|
1031
|
+
const srcAppDir = path.join(projectPath, 'src', 'app');
|
|
1032
|
+
const rootAppDir = path.join(projectPath, 'app');
|
|
1033
|
+
const srcExpositionDir = path.join(srcAppDir, 'exposition');
|
|
1034
|
+
const rootExpositionDir = path.join(rootAppDir, 'exposition');
|
|
1035
|
+
const srcStylistPath = path.join(srcExpositionDir, 'stylist.tsx');
|
|
1036
|
+
const rootStylistPath = path.join(rootExpositionDir, 'stylist.tsx');
|
|
1037
|
+
const hasSrcApp = await pathExists(srcAppDir);
|
|
1038
|
+
const hasRootApp = await pathExists(rootAppDir);
|
|
1039
|
+
const hasExposition = (await pathExists(srcExpositionDir)) || (await pathExists(rootExpositionDir));
|
|
1040
|
+
const hasStylist = (await pathExists(srcStylistPath)) || (await pathExists(rootStylistPath));
|
|
1041
|
+
return {
|
|
1042
|
+
appDirectory: hasSrcApp ? 'src/app' : hasRootApp ? 'app' : null,
|
|
1043
|
+
hasExposition,
|
|
1044
|
+
hasStylist,
|
|
1045
|
+
};
|
|
1046
|
+
}
|
|
830
1047
|
function ensureTrailingNewline(value) {
|
|
831
1048
|
return `${normalizeLineEndings(value).trimEnd()}\n`;
|
|
832
1049
|
}
|
package/dist/roadmap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roadmap.js","sourceRoot":"","sources":["../src/roadmap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"roadmap.js","sourceRoot":"","sources":["../src/roadmap.ts"],"names":[],"mappings":"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"}
|