# Bangstack TODO

## Quality & Testing

### High Priority - Code Quality Improvements

**Current Status** (as of 2025-10-14):
- ✅ **Tests**: 483/483 passing (100%)
- ⚠️ **Linting**: 11 errors remaining
- ✅ **Type Checking**: Enabled (ts-jest has deprecation warnings, non-blocking)

**Tasks**:

1. [ ] **Fix remaining 11 linting errors**:
   - `src/cli/commands/create-workflow.ts` - Remove unused `globalRegistry` import
   - `src/cli/commands/list-generators.ts` - Remove unused `chalk` import
   - `src/cli/enhanced-progress.ts:204` - Prefix unused `completed` with `_`
   - `src/cli/index.ts:128` - Convert require to import statement
   - `src/generators/cache/upstash-redis-generator.test.ts` - Remove unused `GenerationResult` import
   - `src/generators/database/drizzle-generator.ts:588` - Change `let columnType` to `const`
   - `src/generators/lazy-registry.test.ts:7` - Remove unused `Generator` and `GeneratorContext` imports
   - `src/generators/parallel-executor.test.ts:398` - Prefix unused `baseTime` with `_`
   - `src/generators/parallel-executor.ts:47` - Convert require to import statement
   - `src/parser/schema-error-formatter.ts:394` - Prefix unused `tech` with `_`

   **Note**: 1 error can be auto-fixed with `npm run lint -- --fix`

2. [ ] **Update ts-jest configuration** (optional, non-blocking):
   - File: `jest.config.js`
   - Migrate from deprecated `globals` config to inline transform config
   - Move `isolatedModules: true` to `tsconfig.json` if desired
   - See: https://kulshekhar.github.io/ts-jest/docs/getting-started/presets#advanced

**Acceptance Criteria**:
- ✅ ALL tests passing (483/483 tests) - **DONE**
- ⏳ ZERO linting errors (currently 11 remaining)
- ✅ TypeScript type checking enabled
- ✅ Prepublish checks functional: `npm run lint && npm run build`

**Estimated Effort**: 30 minutes to 1 hour

**Priority**: MEDIUM - Code quality improvement, not blocking releases

---

## Future Enhancements

### Medium-Low Priority - YAML-to-Implementation Validation

**Context**: Currently Bangstack is a one-way generator (YAML → Code). The YAML is a scaffold specification, not a runtime contract.

**Potential Feature**: Add validation to detect drift between YAML spec and generated code implementation.

**Example Use Case**: If YAML defines an event emission but implementation doesn't emit it, warn the user.

**Tasks**:
1. [ ] Design validation rules (what to check, what level of strictness)
2. [ ] Implement static code analysis for generated files
3. [ ] Create `bang validate` command
4. [ ] Make it opt-in (don't block generation)
5. [ ] Document validation rules

**When to prioritize**:
- If adding bi-directional sync (code changes → YAML updates)
- If adding regeneration without losing custom code
- For enterprise teams where drift detection is critical

**Estimated Effort**: 1-2 weeks
