Coding
PromptBeginner5 minmarkdown
Nano Banana Pro
Agent skill for nano-banana-pro
6
- Stack: Next.js 13 (pages router) + Nextra v3 (docs theme) + TypeScript
Sign in to like and favorite skills
nvm), npm preferrednpm install (package‑lock present). If you prefer: pnpm inpm run dev then open http://localhost:3000npm run buildnpm startnpx next dev -H 127.0.0.1 -p 3000.next then retry npm run develse if (selection.type === 'phase') in components/thesis/PreviewPanel.tsx which caused a TS narrowing error and blocked buildsnpm audit fix --force to address 10 security vulnerabilities (1 moderate, 9 high)
pages/ — MDX pages + navigation
index.mdx (landing), advanced.mdx, another.mdx, thesis-builder.mdxcns-acquisition/ section with criteria.mdx_app.tsx wires global styles and chart config_meta.tsx controls sidebar/nav ordering and labelscomponents/
NoeticCharts.tsx (MarketLine, CapitalDoughnut, NoeticOsRadar, PlatformKpiBar, ValueCreationDualAxis, ReturnBar)ChartComponents.tsx (code splitting + SSR false)DashboardCard.tsx, PhaseTabs.tsx, Phases.tsx, ErrorBoundary.tsxcomponents/thesis/ — ThesisBuilder.tsx, DataSelector.tsx, PreviewPanel.tsx, ExportControls.tsx, ChartCapture.tsx, DynamicThesisBuilder.tsx, TemplateSelector.tsxlib/chart-config.ts — registers Chart.js parts and exports commonChartOptions + chartColorsdata/noetic-metrics.json — canonical data for charts, phases, risks, and capital planhooks/useMetricsData.ts — memoized data access + small helpers (phase lookup, risk filter)styles/global.css — global styles, utility classes (hero, dash-grid, risk chips, etc.)theme.config.tsx — Nextra theme config (branding, SEO, head, footer)any, keep discriminated unions consistent with types/data.tsErrorBoundaryclassName passthroughs and accessibility attrs (aria-*)readonly to prevent mutationsaria-selected on buttons)commonChartOptions and chartColors from lib/chart-config.tsdata/noetic-metrics.json via useMetricsData() where possiblehero, dash-grid, card, phase-tabs, risk-chip).mdx in pages/ and entries in pages/_meta.tsxNeuralMarketMapper.tsx:313 - mountRef.current will likely change by cleanupChartCapture.tsx:62 - captureChart function needs useCallback wrappernpm audit fix --force to address critical issues<img> with <Image />: In ChartCapture.tsx for better Core Web VitalsPreviewPanel.tsx to component level.sort() with .toSorted() for immutabilityreadonly to prevent mutationsas string casts in PreviewPanel.tsxpnpm vs npm usage across project filesdata/noetic-metrics.json and types if neededcomponents/NoeticCharts.tsx and wire dynamically via ChartComponents.tsxdata/noetic-metrics.json and consume via useMetricsData()types/data.ts unions; update DataSelector, PreviewPanel, ExportControls deterministicallyhtml2canvas, jspdf, pptxgenjs (see ChartCapture.tsx and ExportControls.tsx)npm run lint or npm run lint:fix (rules via Next/ESLint)npm run type-checkNeuralMarketMapper.tsx and ChartCapture.tsx
useCallback and add missing dependenciesaria-selected on button elements in InsightsSidebar.tsxPreviewPanel.tsxonKeyDown handlersPreviewPanel.tsx causing complexity warnings.sort() should use .toSorted() for immutability<img> instead of Next.js <Image /> in ChartCapture.tsx affects LCP-H 127.0.0.1 if neededcomponents/thesis/ChartCapture.tsx (react-hooks/exhaustive-deps, @next/next/no-img-element) are safe to address incrementallypnpm; project currently uses npm (see package-lock.json). Either works locally if used consistentlyvercel.json and theme settings in theme.config.tsxnpm run deploy (see scripts/deploy.sh)— End —