MVP mocking patterns and TODO conventions for StockFind. Use when writing features with mock data, reviewing TODO markers, or finalizing features for production.
TEMPORARY SKILL: Delete this skill once StockFind exits the rapid development phase and moves to production-ready status.
Use this skill when:
| Marker | Purpose | When to Use |
|---|---|---|
TODO: MVP | Temporary mock implementation | Any feature using mock data or placeholder logic |
TODO: FINALIZE |
| Implementation needs review |
| Code that works but needs verification before production |
⚠️ PLACEHOLDER DATA | Data needing verification | Constants, benchmarks, or config values that need real data |
The preferred pattern for mocked implementations. Real code stays commented out below the mock return.
async function getStockQuote(symbol: string) {
// TODO: MVP - Replace mock data with Twelve Data API call
return getMockQuote(symbol);
// Real implementation (uncomment when ready):
// const response = await fmpApi.quote(symbol);
// if (!response.ok) {
// throw new Error(`Failed to fetch quote for ${symbol}`);
// }
// return response.data;
}
Use when you want to toggle between mock and real implementation:
async function getStockQuote(symbol: string) {
// TODO: MVP - Remove mock condition when Twelve Data API ready
const USE_MOCK = true; // Set to false to use real API
if (USE_MOCK) {
return getMockQuote(symbol);
}
const response = await fmpApi.quote(symbol);
if (!response.ok) {
throw new Error(`Failed to fetch quote for ${symbol}`);
}
return response.data;
}
When some data is real but other parts are mocked:
async function getStockAnalysis(symbol: string) {
const profile = await getCompanyProfile(symbol); // Real API
// TODO: MVP - Replace mock financials with Twelve Data API
const financials = getMockFinancials(symbol);
// Real implementation:
// const financials = await fmpApi.financials(symbol);
return { profile, financials };
}
For data that needs verification before production:
// ⚠️ PLACEHOLDER DATA - Needs verified sector benchmarks from industry research
export const SECTOR_GROWTH_BENCHMARKS: Record<Sector, number> = {
Technology: 0.15,
Healthcare: 0.12,
Financials: 0.08,
// ...
};
| App | Mock Data Directory |
|---|---|
| Web | apps/web/src/__mocks__/ |
| API | apps/api/src/__mocks__/ (create if needed) |
Mock file naming: {feature}.mock.ts or {feature}.mock.json
Search for all MVP-related markers in the codebase:
# Find all TODO: MVP markers
grep -r "TODO: MVP" --include="*.ts" --include="*.tsx"
# Find all TODO: FINALIZE markers
grep -r "TODO: FINALIZE" --include="*.ts" --include="*.tsx"
# Find all placeholder data markers
grep -r "PLACEHOLDER DATA" --include="*.ts"
When finalizing a feature (removing mocks, going to production):
grep -r "TODO: MVP" apps/web/src/features/{feature-name}
grep -r "TODO: MVP" apps/api/src/integrations/{feature-name}
TODO: MVP commentTODO: FINALIZE if needs reviewTODO: MVP in the featureWhen the user says a feature is finalized:
TODO: MVP markers are addressed or flaggedThis skill should be deleted when:
TODO: MVP markers have been resolvedTo delete: Remove the .claude/skills/rapid-development/ directory and update the skill reference tables in CLAUDE.md files.