# io8 Project Builder Plan: password_generator_20251010_054000

This document outlines the plan for bootstrapping the `password_generator_20251010_054000` project using io8 MCP.

## 1. High-Level Scaffolding Plan

### Backend
- **Technology**: To be determined from `.sureai/architecture_document.md` or default to Spring Boot.
- **Database**: To be determined from `.sureai/architecture_document.md` or default to MySQL.
- **Core Logic**: Implement password generation logic, including configurable length, character sets (uppercase, lowercase, numbers, symbols).
- **API Endpoints**: Expose RESTful API endpoints for generating passwords.

### Frontend
- **Technology**: To be determined from `.sureai/architecture_document.md` or default to Angular Clarity.
- **User Interface**: Create a simple UI for users to specify password criteria (length, character types) and display the generated password.
- **Integration**: Consume the backend API for password generation.

## 2. Directory and File Scaffolding Strategy

- **Root Directory**: `/tmp/bmad_output/password_generator_20251010_054000/
- **io8 MCP Responses**: `.sureai/io8_mcp/responses/` will store all MCP tool outputs (e.g., `create_project.out`, `build_app.out`, `create_wireframe.out`).
- **Architecture Document**: `.sureai/architecture_document.md` (if exists) will guide technology choices.
- **Source Code**: Standard project structure based on chosen backend and frontend technologies (e.g., `src/main/java` for Spring Boot, `src/app` for Angular).

## 3. Build Tools and Scripts

- **io8 MCP**: Used for project creation, app building, and wireframe generation.
- **Git**: For cloning the generated repository and managing source code.
- **Maven/Gradle (for Spring Boot)** or **npm/yarn (for Node.js/Angular)**: For dependency management and local builds after initial scaffolding.

## 4. Pre-Developer Checks

Before proceeding with development, the following checks will be performed:

- **`create_project.out`**: Verify existence and valid JSON content to ensure the io8 project has been created successfully.
- **`architecture_document.md`**: Check for this document to inform technology choices. If not present, default technologies will be used.
- **Git Repository**: Confirm successful `git pull` and the presence of generated code.

## 5. io8 Project Creation

**Project Name**: `password_generator_20251010_054000` (extracted from current directory name)
**Visibility**: Private (default, can be adjusted if specified in architecture document)

**Steps for io8 Project Creation (io8project_builder agent)**:

1. **Get Current Directory**: Run `pwd` to get the absolute path.
2. **Extract Project Name**: Parse the directory name to get `password_generator_20251010_054000`.
3. **Check for Existing Project**: Read `.sureai/io8_mcp/responses/create_project.out`. If it exists and contains valid project data, skip project creation.
4. **Determine Technologies**: Attempt to read `.sureai/architecture_document.md` for backend, database, and frontend technologies. If not found, use defaults (Spring Boot, MySQL, Angular Clarity).
5. **Create Project**: Execute the `process_user_prompt` tool with the determined project name, visibility, and technologies.
6. **Save Response**: Store the tool's output in `.sureai/io8_mcp/responses/create_project.out`.

**Example Command (to be executed by io8project_builder agent)**:

```
gemini yolo command passing this as prompt "process_user_prompt(userPrompt='create io8 project with project name \"password_generator_20251010_054000\", visibility \"Private\", backend \"[BACKEND_TECH]\", database \"[DATABASE_TECH]\", and frontend \"Angular Clarity\"')"
```

*(Note: `[BACKEND_TECH]` and `[DATABASE_TECH]` will be replaced with actual values based on architecture document or defaults.)*