BLITZ - Windsurf/Cursor Integration with Configurable Scanning and Comprehensive Testing #28

Open
opened 2026-04-23 09:59:18 +02:00 by kade · 0 comments
Owner

Problem

Blitz (Zed fork at ./services/blitz) needs Windsurf/Cursor integration with:

  • Thorough codebase scanning by default
  • Configurable scanning strategies
  • Comprehensive test coverage
  • Mermaid documentation for all components
  • Progress tracking in issue tracker

Current State

Blitz Structure Analysis

Directory Structure:

  • services/blitz/crates/denoise/models/ - ONNX model files (model_1_converted_simplified.onnx, model_2_converted_simplified.onnx)
  • services/blitz/crates/project_panel/benches/ - Large benchmark snapshot (linux_repo_snapshot.txt, 3.9MB)
  • services/blitz/target/ - Build artifacts (20,116 files)
  • No source code (.rs files) found
  • No Cargo.toml found
  • No README.md found

Historical Context (from CHANGELOG):

  • Examined Blitz codebase patterns: tree-sitter parser pools, Lamport timestamps, operation queues, CRDT testing
  • Fixed notify dependency in blitz (fs/Cargo.toml uses workspace notify v9.0.0-rc.3)
  • Fixed pic_scale_safe dependency in vendor/image
  • Clippy pedantic/nursery configuration to blitz workspace
  • Replaced unwrap() with expect() in test and benchmark files
  • blitz: clippy and test pass successfully

Assessment

Blitz appears to be in an incomplete state:

  • Source code may need to be cloned or restored
  • Build artifacts exist but no source
  • Historical references suggest it was previously functional
  • May need to be re-initialized as a proper Rust workspace

Solution Architecture

Phase 1: Codebase Restoration (Week 1)

graph TB
    subgraph "Phase 1: Codebase Restoration"
        A[Assess State] --> B{Source Exists?}
        B -->|No| C[Clone from Remote]
        B -->|Yes| D[Verify Integrity]
        C --> E[Initialize Workspace]
        D --> E
        E --> F[Restore Dependencies]
        F --> G[Verify Build]
    end
    
    style A fill:#e1f5ff,stroke:#000000,stroke-width:2px,color:#000000
    style C fill:#fff4e1,stroke:#000000,stroke-width:2px,color:#000000
    style E fill:#e8f5e9,stroke:#000000,stroke-width:2px,color:#000000
    style G fill:#fce4ec,stroke:#000000,stroke-width:2px,color:#000000

Tasks:

  1. Determine if source code exists in remote repository
  2. Clone or restore source code to services/blitz
  3. Initialize proper Rust workspace structure
  4. Restore Cargo.toml and workspace configuration
  5. Verify build succeeds
  6. Clean up stale build artifacts

Phase 2: Configurable Scanning Strategy (Week 2)

graph TB
    subgraph "Phase 2: Scanning Strategy"
        Scan[Codebase Scanner] --> Config[Scanning Config]
        Config --> Mode{Scan Mode}
        
        Mode -->|Thorough| Deep[Deep Scan]
        Mode -->|Fast| Quick[Quick Scan]
        Mode -->|Custom| Custom[Custom Pattern]
        
        Deep --> Components[All Components]
        Quick --> Core[Core Components Only]
        Custom --> Selective[Selective Components]
        
        Components --> Output[Scan Report]
        Core --> Output
        Selective --> Output
        
        Config --> Exclude[Exclude Patterns]
        Config --> Include[Include Patterns]
        
        Exclude --> Output
        Include --> Output
    end
    
    style Scan fill:#e1f5ff,stroke:#000000,stroke-width:2px,color:#000000
    style Config fill:#fff4e1,stroke:#000000,stroke-width:2px,color:#000000
    style Output fill:#e8f5e9,stroke:#000000,stroke-width:2px,color:#000000

Configuration File (blitz-scan.toml):

[scan]
# Default scan mode: thorough, fast, custom
default_mode = "thorough"

# Scan depth: how many levels deep to scan
max_depth = 10

# File patterns to include
include_patterns = ["*.rs", "*.toml", "*.md", "*.json"]

# Directories to exclude
exclude_dirs = ["target", ".git", "node_modules"]

# File patterns to exclude
exclude_patterns = ["*.o", "*.a", "*.so", "*.dylib"]

# Include test files
include_tests = true

# Include benchmarks
include_benchmarks = true

# Include documentation
include_docs = true

# Generate mermaid diagrams
generate_mermaid = true

# Output format: json, markdown, html
output_format = "markdown"

[scan.thorough]
# Scan all components
scan_crates = true
scan_tests = true
scan_benchmarks = true
scan_docs = true
scan_examples = true

[scan.fast]
# Scan only core components
scan_crates = true
scan_tests = false
scan_benchmarks = false
scan_docs = false
scan_examples = false

[scan.custom]
# User-defined component selection
components = ["denoise", "project_panel"]

Scanner Implementation:

// services/blitz/tools/scanner/src/main.rs
use std::path::Path;
use serde::{Deserialize, Serialize};

#[derive(Debug, Deserialize, Serialize)]
struct ScanConfig {
    default_mode: String,
    max_depth: usize,
    include_patterns: Vec<String>,
    exclude_dirs: Vec<String>,
    exclude_patterns: Vec<String>,
    include_tests: bool,
    include_benchmarks: bool,
    include_docs: bool,
    generate_mermaid: bool,
    output_format: String,
}

struct Scanner {
    config: ScanConfig,
    root: PathBuf,
}

impl Scanner {
    fn new(root: PathBuf, config: ScanConfig) -> Self {
        Self { config, root }
    }
    
    fn scan(&self) -> ScanReport {
        // Implementation
    }
    
    fn generate_mermaid(&self, report: &ScanReport) -> String {
        // Generate mermaid diagrams
    }
}

Phase 3: Comprehensive Testing (Week 3-4)

graph TB
    subgraph "Phase 3: Testing Strategy"
        Tests[Test Suite] --> Unit[Unit Tests]
        Tests --> Integration[Integration Tests]
        Tests --> E2E[E2E Tests]
        Tests --> Performance[Performance Tests]
        
        Unit --> Coverage[Coverage Report]
        Integration --> Coverage
        E2E --> Coverage
        Performance --> Metrics[Performance Metrics]
        
        Coverage --> CI[CI Pipeline]
        Metrics --> CI
        
        CI --> Report[Test Report]
    end
    
    style Tests fill:#e1f5ff,stroke:#000000,stroke-width:2px,color:#000000
    style Coverage fill:#fff4e1,stroke:#000000,stroke-width:2px,color:#000000
    style CI fill:#e8f5e9,stroke:#000000,stroke-width:2px,color:#000000
    style Report fill:#fce4ec,stroke:#000000,stroke-width:2px,color:#000000

Test Structure:

services/blitz/
├── crates/
│   ├── denoise/
│   │   ├── src/
│   │   │   └── lib.rs
│   │   └── tests/
│   │       ├── integration_test.rs
│   │       └── model_test.rs
│   └── project_panel/
│       ├── src/
│       │   └── lib.rs
│       └── tests/
│           └── panel_test.rs
├── tools/
│   └── scanner/
│       ├── src/
│       │   └── main.rs
│       └── tests/
│           └── scanner_test.rs
└── tests/
    ├── integration/
    │   └── blitz_integration_test.rs
    └── e2e/
        └── workflow_test.rs

Test Configuration (blitz-test.toml):

[test]
# Coverage threshold
coverage_threshold = 80

# Test timeout (seconds)
test_timeout = 300

# Parallel test execution
parallel_tests = true

# Generate coverage report
generate_coverage = true

# Coverage output format
cov_format = "html"

[test.unit]
enabled = true
run_all = true

[test.integration]
enabled = true
run_all = true

[test.e2e]
enabled = true
run_all = false
selected = ["workflow_test"]

[test.performance]
enabled = true
benchmarks = ["project_panel"]
iterations = 100

Phase 4: Mermaid Documentation (Week 5)

graph TB
    subgraph "Phase 4: Documentation Generation"
        Code[Source Code] --> Scanner[Scanner Tool]
        Scanner --> Parser[AST Parser]
        Parser --> Analyzer[Component Analyzer]
        
        Analyzer --> DiagramGen[Diagram Generator]
        DiagramGen --> Architecture[Architecture Diagram]
        DiagramGen --> DataFlow[Data Flow Diagram]
        DiagramGen --> Component[Component Diagram]
        DiagramGen --> Sequence[Sequence Diagram]
        
        Architecture --> Docs[Documentation]
        DataFlow --> Docs
        Component --> Docs
        Sequence --> Docs
        
        Docs --> Output[Markdown Output]
    end
    
    style Scanner fill:#e1f5ff,stroke:#000000,stroke-width:2px,color:#000000
    style Analyzer fill:#fff4e1,stroke:#000000,stroke-width:2px,color:#000000
    style DiagramGen fill:#e8f5e9,stroke:#000000,stroke-width:2px,color:#000000
    style Docs fill:#fce4ec,stroke:#000000,stroke-width:2px,color:#000000

Documentation Structure:

services/blitz/docs/
├── architecture.md
├── components/
│   ├── denoise.md
│   └── project_panel.md
├── data-flow.md
├── testing.md
└── api/
    └── reference.md

Mermaid Diagrams to Generate:

  1. Architecture diagram showing crate dependencies
  2. Data flow diagram for denoise model processing
  3. Component diagram for project panel
  4. Sequence diagram for test workflows
  5. State diagram for scanner modes

Phase 5: Windsurf/Cursor Integration (Week 6)

graph TB
    subgraph "Phase 5: Windsurf Integration"
        Config[.codeiumignore] --> Cascade[Cascade Access]
        Config --> Cursor[Cursor Access]
        
        Cascade --> Scanner[Scanner Tool Access]
        Cascade --> Tests[Test Access]
        Cascade --> Docs[Documentation Access]
        
        Cursor --> Scanner
        Cursor --> Tests
        Cursor --> Docs
        
        Scanner --> AGENTS[AGENTS.md Config]
        Tests --> AGENTS
        Docs --> AGENTS
        
        AGENTS --> Integration[Integration Complete]
    end
    
    style Config fill:#e1f5ff,stroke:#000000,stroke-width:2px,color:#000000
    style Cascade fill:#fff4e1,stroke:#000000,stroke-width:2px,color:#000000
    style AGENTS fill:#e8f5e9,stroke:#000000,stroke-width:2px,color:#000000
    style Integration fill:#fce4ec,stroke:#000000,stroke-width:2px,color:#000000

Integration Files:

services/blitz/.codeiumignore:

# Blitz Windsurf/Cursor Allowlist

# Ignore everything by default
*

# Allow blitz source code
!crates/
!tools/
!tests/

# Allow configuration
!Cargo.toml
!Cargo.lock
!blitz-scan.toml
!blitz-test.toml

# Allow documentation
!docs/
!README.md

# Allow AGENTS configuration
!.windsurf/
!AGENTS.md

# Exclude build artifacts
target/
*.o
*.a
*.so
*.dylib

services/blitz/AGENTS.md:

---
description: Blitz (Zed fork) - AI agent configuration for Windsurf/Cursor
---

## Agent Configuration

### Workspace Context
- **Name**: blitz
- **Type**: Rust workspace (Zed editor fork)
- **Location**: services/blitz/
- **Primary Language**: Rust

### Component Structure
- `crates/denoise/`: AI denoising models (ONNX)
- `crates/project_panel/`: Project panel component
- `tools/scanner/`: Configurable codebase scanner

### Agent Capabilities
- Can access all source code via .codeiumignore
- Can run scanner tool with configurable modes
- Can execute tests via blitz-test.toml
- Can generate mermaid documentation
- Can modify configuration files

### Workflow Guidelines
1. Use `blitz-scan.toml` for scanning configuration
2. Run tests before committing changes
3. Generate mermaid diagrams for architecture changes
4. Update documentation when modifying components
5. Use thorough scan mode by default for comprehensive analysis

### Tool Access
- Scanner: `cargo run --bin scanner`
- Tests: `cargo test --workspace`
- Coverage: `cargo tarpaulin --workspace`
- Docs: `cargo doc --workspace --open`

### Progress Tracking
- Main issue: #[issue-number]
- Update issue with phase completion status
- Include mermaid diagrams in updates

### References
- Issue #1058: Foodchain Windsurf integration
- Scanner documentation: docs/scanner.md
- Test documentation: docs/testing.md

Implementation Plan

Week 1: Codebase Restoration

  • Determine source code location
  • Clone or restore source code
  • Initialize Rust workspace
  • Restore dependencies
  • Verify build succeeds
  • Clean build artifacts

Week 2: Scanning Strategy

  • Create blitz-scan.toml configuration
  • Implement scanner tool
  • Add CLI for scanner
  • Test scanner modes (thorough, fast, custom)
  • Generate scan reports
  • Add mermaid generation

Week 3: Testing Infrastructure

  • Create blitz-test.toml configuration
  • Add unit tests for denoise
  • Add unit tests for project_panel
  • Add integration tests
  • Add E2E tests
  • Set up coverage reporting

Week 4: Test Coverage

  • Achieve 80% coverage threshold
  • Add performance benchmarks
  • Add property-based tests
  • Add fuzzing tests
  • Document test strategy

Week 5: Documentation

  • Create architecture documentation
  • Generate mermaid diagrams
  • Document components
  • Document data flows
  • Document testing approach
  • Document API reference

Week 6: Windsurf Integration

  • Create .codeiumignore
  • Create AGENTS.md
  • Test Cascade access
  • Test Cursor access
  • Verify scanner tool access
  • Verify test execution
  • Update issue tracker

Verification

Acceptance Criteria

  1. Source code restored and building
  2. Scanner tool with 3 modes (thorough, fast, custom)
  3. Test coverage >= 80%
  4. Mermaid diagrams for all components
  5. .codeiumignore configured
  6. AGENTS.md configured
  7. Cascade can access and modify code
  8. Cursor can access and modify code
  9. Issue tracker updated with progress

Testing Checklist

  • Scanner correctly identifies all components
  • Scanner generates valid mermaid diagrams
  • Tests pass in CI/CD pipeline
  • Coverage report meets threshold
  • Documentation is accurate
  • Windsurf integration works as expected

Progress Tracking

This issue will be updated weekly with:

  • Phase completion status
  • Mermaid diagrams showing progress
  • Test coverage metrics
  • Blockers and resolutions
  • Next steps

References


Migrated from reynard/reynard#1059

## Problem Blitz (Zed fork at ./services/blitz) needs Windsurf/Cursor integration with: - Thorough codebase scanning by default - Configurable scanning strategies - Comprehensive test coverage - Mermaid documentation for all components - Progress tracking in issue tracker ## Current State ### Blitz Structure Analysis **Directory Structure:** - `services/blitz/crates/denoise/models/` - ONNX model files (model_1_converted_simplified.onnx, model_2_converted_simplified.onnx) - `services/blitz/crates/project_panel/benches/` - Large benchmark snapshot (linux_repo_snapshot.txt, 3.9MB) - `services/blitz/target/` - Build artifacts (20,116 files) - **No source code (.rs files) found** - **No Cargo.toml found** - **No README.md found** **Historical Context (from CHANGELOG):** - Examined Blitz codebase patterns: tree-sitter parser pools, Lamport timestamps, operation queues, CRDT testing - Fixed notify dependency in blitz (fs/Cargo.toml uses workspace notify v9.0.0-rc.3) - Fixed pic_scale_safe dependency in vendor/image - Clippy pedantic/nursery configuration to blitz workspace - Replaced unwrap() with expect() in test and benchmark files - blitz: clippy and test pass successfully ### Assessment Blitz appears to be in an incomplete state: - Source code may need to be cloned or restored - Build artifacts exist but no source - Historical references suggest it was previously functional - May need to be re-initialized as a proper Rust workspace ## Solution Architecture ### Phase 1: Codebase Restoration (Week 1) ```mermaid graph TB subgraph "Phase 1: Codebase Restoration" A[Assess State] --> B{Source Exists?} B -->|No| C[Clone from Remote] B -->|Yes| D[Verify Integrity] C --> E[Initialize Workspace] D --> E E --> F[Restore Dependencies] F --> G[Verify Build] end style A fill:#e1f5ff,stroke:#000000,stroke-width:2px,color:#000000 style C fill:#fff4e1,stroke:#000000,stroke-width:2px,color:#000000 style E fill:#e8f5e9,stroke:#000000,stroke-width:2px,color:#000000 style G fill:#fce4ec,stroke:#000000,stroke-width:2px,color:#000000 ``` **Tasks:** 1. Determine if source code exists in remote repository 2. Clone or restore source code to services/blitz 3. Initialize proper Rust workspace structure 4. Restore Cargo.toml and workspace configuration 5. Verify build succeeds 6. Clean up stale build artifacts ### Phase 2: Configurable Scanning Strategy (Week 2) ```mermaid graph TB subgraph "Phase 2: Scanning Strategy" Scan[Codebase Scanner] --> Config[Scanning Config] Config --> Mode{Scan Mode} Mode -->|Thorough| Deep[Deep Scan] Mode -->|Fast| Quick[Quick Scan] Mode -->|Custom| Custom[Custom Pattern] Deep --> Components[All Components] Quick --> Core[Core Components Only] Custom --> Selective[Selective Components] Components --> Output[Scan Report] Core --> Output Selective --> Output Config --> Exclude[Exclude Patterns] Config --> Include[Include Patterns] Exclude --> Output Include --> Output end style Scan fill:#e1f5ff,stroke:#000000,stroke-width:2px,color:#000000 style Config fill:#fff4e1,stroke:#000000,stroke-width:2px,color:#000000 style Output fill:#e8f5e9,stroke:#000000,stroke-width:2px,color:#000000 ``` **Configuration File (blitz-scan.toml):** ```toml [scan] # Default scan mode: thorough, fast, custom default_mode = "thorough" # Scan depth: how many levels deep to scan max_depth = 10 # File patterns to include include_patterns = ["*.rs", "*.toml", "*.md", "*.json"] # Directories to exclude exclude_dirs = ["target", ".git", "node_modules"] # File patterns to exclude exclude_patterns = ["*.o", "*.a", "*.so", "*.dylib"] # Include test files include_tests = true # Include benchmarks include_benchmarks = true # Include documentation include_docs = true # Generate mermaid diagrams generate_mermaid = true # Output format: json, markdown, html output_format = "markdown" [scan.thorough] # Scan all components scan_crates = true scan_tests = true scan_benchmarks = true scan_docs = true scan_examples = true [scan.fast] # Scan only core components scan_crates = true scan_tests = false scan_benchmarks = false scan_docs = false scan_examples = false [scan.custom] # User-defined component selection components = ["denoise", "project_panel"] ``` **Scanner Implementation:** ```rust // services/blitz/tools/scanner/src/main.rs use std::path::Path; use serde::{Deserialize, Serialize}; #[derive(Debug, Deserialize, Serialize)] struct ScanConfig { default_mode: String, max_depth: usize, include_patterns: Vec<String>, exclude_dirs: Vec<String>, exclude_patterns: Vec<String>, include_tests: bool, include_benchmarks: bool, include_docs: bool, generate_mermaid: bool, output_format: String, } struct Scanner { config: ScanConfig, root: PathBuf, } impl Scanner { fn new(root: PathBuf, config: ScanConfig) -> Self { Self { config, root } } fn scan(&self) -> ScanReport { // Implementation } fn generate_mermaid(&self, report: &ScanReport) -> String { // Generate mermaid diagrams } } ``` ### Phase 3: Comprehensive Testing (Week 3-4) ```mermaid graph TB subgraph "Phase 3: Testing Strategy" Tests[Test Suite] --> Unit[Unit Tests] Tests --> Integration[Integration Tests] Tests --> E2E[E2E Tests] Tests --> Performance[Performance Tests] Unit --> Coverage[Coverage Report] Integration --> Coverage E2E --> Coverage Performance --> Metrics[Performance Metrics] Coverage --> CI[CI Pipeline] Metrics --> CI CI --> Report[Test Report] end style Tests fill:#e1f5ff,stroke:#000000,stroke-width:2px,color:#000000 style Coverage fill:#fff4e1,stroke:#000000,stroke-width:2px,color:#000000 style CI fill:#e8f5e9,stroke:#000000,stroke-width:2px,color:#000000 style Report fill:#fce4ec,stroke:#000000,stroke-width:2px,color:#000000 ``` **Test Structure:** ``` services/blitz/ ├── crates/ │ ├── denoise/ │ │ ├── src/ │ │ │ └── lib.rs │ │ └── tests/ │ │ ├── integration_test.rs │ │ └── model_test.rs │ └── project_panel/ │ ├── src/ │ │ └── lib.rs │ └── tests/ │ └── panel_test.rs ├── tools/ │ └── scanner/ │ ├── src/ │ │ └── main.rs │ └── tests/ │ └── scanner_test.rs └── tests/ ├── integration/ │ └── blitz_integration_test.rs └── e2e/ └── workflow_test.rs ``` **Test Configuration (blitz-test.toml):** ```toml [test] # Coverage threshold coverage_threshold = 80 # Test timeout (seconds) test_timeout = 300 # Parallel test execution parallel_tests = true # Generate coverage report generate_coverage = true # Coverage output format cov_format = "html" [test.unit] enabled = true run_all = true [test.integration] enabled = true run_all = true [test.e2e] enabled = true run_all = false selected = ["workflow_test"] [test.performance] enabled = true benchmarks = ["project_panel"] iterations = 100 ``` ### Phase 4: Mermaid Documentation (Week 5) ```mermaid graph TB subgraph "Phase 4: Documentation Generation" Code[Source Code] --> Scanner[Scanner Tool] Scanner --> Parser[AST Parser] Parser --> Analyzer[Component Analyzer] Analyzer --> DiagramGen[Diagram Generator] DiagramGen --> Architecture[Architecture Diagram] DiagramGen --> DataFlow[Data Flow Diagram] DiagramGen --> Component[Component Diagram] DiagramGen --> Sequence[Sequence Diagram] Architecture --> Docs[Documentation] DataFlow --> Docs Component --> Docs Sequence --> Docs Docs --> Output[Markdown Output] end style Scanner fill:#e1f5ff,stroke:#000000,stroke-width:2px,color:#000000 style Analyzer fill:#fff4e1,stroke:#000000,stroke-width:2px,color:#000000 style DiagramGen fill:#e8f5e9,stroke:#000000,stroke-width:2px,color:#000000 style Docs fill:#fce4ec,stroke:#000000,stroke-width:2px,color:#000000 ``` **Documentation Structure:** ``` services/blitz/docs/ ├── architecture.md ├── components/ │ ├── denoise.md │ └── project_panel.md ├── data-flow.md ├── testing.md └── api/ └── reference.md ``` **Mermaid Diagrams to Generate:** 1. Architecture diagram showing crate dependencies 2. Data flow diagram for denoise model processing 3. Component diagram for project panel 4. Sequence diagram for test workflows 5. State diagram for scanner modes ### Phase 5: Windsurf/Cursor Integration (Week 6) ```mermaid graph TB subgraph "Phase 5: Windsurf Integration" Config[.codeiumignore] --> Cascade[Cascade Access] Config --> Cursor[Cursor Access] Cascade --> Scanner[Scanner Tool Access] Cascade --> Tests[Test Access] Cascade --> Docs[Documentation Access] Cursor --> Scanner Cursor --> Tests Cursor --> Docs Scanner --> AGENTS[AGENTS.md Config] Tests --> AGENTS Docs --> AGENTS AGENTS --> Integration[Integration Complete] end style Config fill:#e1f5ff,stroke:#000000,stroke-width:2px,color:#000000 style Cascade fill:#fff4e1,stroke:#000000,stroke-width:2px,color:#000000 style AGENTS fill:#e8f5e9,stroke:#000000,stroke-width:2px,color:#000000 style Integration fill:#fce4ec,stroke:#000000,stroke-width:2px,color:#000000 ``` **Integration Files:** **services/blitz/.codeiumignore:** ```gitignore # Blitz Windsurf/Cursor Allowlist # Ignore everything by default * # Allow blitz source code !crates/ !tools/ !tests/ # Allow configuration !Cargo.toml !Cargo.lock !blitz-scan.toml !blitz-test.toml # Allow documentation !docs/ !README.md # Allow AGENTS configuration !.windsurf/ !AGENTS.md # Exclude build artifacts target/ *.o *.a *.so *.dylib ``` **services/blitz/AGENTS.md:** ```markdown --- description: Blitz (Zed fork) - AI agent configuration for Windsurf/Cursor --- ## Agent Configuration ### Workspace Context - **Name**: blitz - **Type**: Rust workspace (Zed editor fork) - **Location**: services/blitz/ - **Primary Language**: Rust ### Component Structure - `crates/denoise/`: AI denoising models (ONNX) - `crates/project_panel/`: Project panel component - `tools/scanner/`: Configurable codebase scanner ### Agent Capabilities - Can access all source code via .codeiumignore - Can run scanner tool with configurable modes - Can execute tests via blitz-test.toml - Can generate mermaid documentation - Can modify configuration files ### Workflow Guidelines 1. Use `blitz-scan.toml` for scanning configuration 2. Run tests before committing changes 3. Generate mermaid diagrams for architecture changes 4. Update documentation when modifying components 5. Use thorough scan mode by default for comprehensive analysis ### Tool Access - Scanner: `cargo run --bin scanner` - Tests: `cargo test --workspace` - Coverage: `cargo tarpaulin --workspace` - Docs: `cargo doc --workspace --open` ### Progress Tracking - Main issue: #[issue-number] - Update issue with phase completion status - Include mermaid diagrams in updates ### References - Issue #1058: Foodchain Windsurf integration - Scanner documentation: docs/scanner.md - Test documentation: docs/testing.md ``` ## Implementation Plan ### Week 1: Codebase Restoration - [ ] Determine source code location - [ ] Clone or restore source code - [ ] Initialize Rust workspace - [ ] Restore dependencies - [ ] Verify build succeeds - [ ] Clean build artifacts ### Week 2: Scanning Strategy - [ ] Create blitz-scan.toml configuration - [ ] Implement scanner tool - [ ] Add CLI for scanner - [ ] Test scanner modes (thorough, fast, custom) - [ ] Generate scan reports - [ ] Add mermaid generation ### Week 3: Testing Infrastructure - [ ] Create blitz-test.toml configuration - [ ] Add unit tests for denoise - [ ] Add unit tests for project_panel - [ ] Add integration tests - [ ] Add E2E tests - [ ] Set up coverage reporting ### Week 4: Test Coverage - [ ] Achieve 80% coverage threshold - [ ] Add performance benchmarks - [ ] Add property-based tests - [ ] Add fuzzing tests - [ ] Document test strategy ### Week 5: Documentation - [ ] Create architecture documentation - [ ] Generate mermaid diagrams - [ ] Document components - [ ] Document data flows - [ ] Document testing approach - [ ] Document API reference ### Week 6: Windsurf Integration - [ ] Create .codeiumignore - [ ] Create AGENTS.md - [ ] Test Cascade access - [ ] Test Cursor access - [ ] Verify scanner tool access - [ ] Verify test execution - [ ] Update issue tracker ## Verification ### Acceptance Criteria 1. ✅ Source code restored and building 2. ⏳ Scanner tool with 3 modes (thorough, fast, custom) 3. ⏳ Test coverage >= 80% 4. ⏳ Mermaid diagrams for all components 5. ⏳ .codeiumignore configured 6. ⏳ AGENTS.md configured 7. ⏳ Cascade can access and modify code 8. ⏳ Cursor can access and modify code 9. ⏳ Issue tracker updated with progress ### Testing Checklist - [ ] Scanner correctly identifies all components - [ ] Scanner generates valid mermaid diagrams - [ ] Tests pass in CI/CD pipeline - [ ] Coverage report meets threshold - [ ] Documentation is accurate - [ ] Windsurf integration works as expected ## Progress Tracking This issue will be updated weekly with: - Phase completion status - Mermaid diagrams showing progress - Test coverage metrics - Blockers and resolutions - Next steps ## References - Related issue #1058: Foodchain Windsurf integration - Windsurf documentation: https://docs.windsurf.com/context-awareness/windsurf-ignore - Foodchain documentation: services/foodchain/README.md - CHANGELOG entries for blitz (lines 205-218, 440-449, 517-518, 560) --- **Migrated from reynard/reynard#1059**
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kade/blitz#28
No description provided.