## Directory Structure for 'Simple Notes Taking App'

This document outlines the standard and customized directory structure for the 'Simple Notes Taking App' project, built upon a cloned base project.

### Core Principles Applied:
-   **Strict Structure Adherence:** Follows the predefined io8 directory structure template.
-   **Code Separation:** Backend and frontend code are in distinct directories.
-   **Root Level Files:** Configuration files are located at the project root.
-   **Hidden Agent Outputs:** Agent-generated files are prefixed with a dot (`.`) and stored in the `.sureai/` directory.
-   **Visible Documents:** Predefined project documents are stored in the `.sureai/` directory without a dot prefix.
-   **Base Project Integration:** This structure scaffolds around an existing cloned project, ensuring no overwrites but providing necessary surrounding directories and files.

### Project-Specific Directory Tree:
```
/
├── .io8project/
│   ├── .state.json                    # Task state persistence for 'Simple Notes Taking App' (Managed by io8project_builder)
│   └── project_metadata.json          # Project metadata for 'Simple Notes Taking App' (Managed by io8project_builder)
├── cloned_base_project_notes_app/     # The cloned base project for 'Simple Notes Taking App' (Contains initial boilerplate/templates)
│   ├── .sureai/                           # Agent outputs and shared project documents
│     ├── uploads/                       # Directory for uploaded documents and images (e.g., for Requirement Builder Agent)
│     ├── .directory_structure_simple_notes_taking_20251009_044730.md  # This document: Detailed directory structure specification (Generated by io8directory_structure agent)
│     ├── .bmad_agent_simple_notes_taking_20251009_044730.md          # Hidden Business/Market Analysis Document output (Generated by io8bmad_agent)
│     ├── .analyst_agent_simple_notes_taking_20251009_044730.md       # Hidden Analyst Agent output (Generated by io8analyst agent)
│     ├── .architect_agent_simple_notes_taking_20251009_044730.md     # Hidden Architect Agent output (Generated by io8architect agent)
│     ├── .pm_agent_simple_notes_taking_20251009_044730.md            # Hidden Project Manager Agent output (Generated by io8pm agent)
│     ├── .sm_agent_simple_notes_taking_20251009_044730.md            # Hidden Scrum Master Agent output (Generated by io8sm agent)
│     ├── .developer_agent_simple_notes_taking_20251009_044730.md     # Hidden Developer Agent output (Generated by io8developer agent)
│     ├── .devops_agent_simple_notes_taking_20251009_044730.md        # Hidden DevOps Agent output (Generated by io8devops agent)
│     ├── .bmad_*.md                     # Generic hidden agent outputs for Business/Market Analysis (dynamic filenames)
│     ├── .analyst_*.md                  # Generic hidden agent outputs for Analyst (dynamic filenames)
│     ├── .architect_*.md                # Generic hidden agent outputs for Architect (dynamic filenames)
│     ├── .developer_*.md                # Generic hidden agent outputs for Developer (dynamic filenames)
│     ├── .devops_*.md                   # Generic hidden agent outputs for DevOps (dynamic filenames)
│     ├── .pm_*.md                       # Generic hidden agent outputs for Project Manager (dynamic filenames)
│     ├── analysis_document.md           # Comprehensive analysis for 'Simple Notes Taking App' (Created by io8analyst agent)
│     ├── requirements_document.md       # Detailed requirements for 'Simple Notes Taking App' (Created by io8analyst agent)
│     ├── architecture_document.md       # System architecture for 'Simple Notes Taking App' (Created by io8architect agent)
│     ├── tech_stack_document.md         # Technology stack for 'Simple Notes Taking App' (Created by io8architect agent)
│     ├── prd_document.md                # Product Requirements Document for 'Simple Notes Taking App' (Created by io8pm agent)
│     ├── project_plan.md                # Project plan for 'Simple Notes Taking App' (Created by io8pm agent)
│     ├── tasks_list.md                  # List of tasks for 'Simple Notes Taking App' (Created by io8sm, updated by io8developer)
│     └── sprint_plan.md                 # Sprint plan for 'Simple Notes Taking App' (Created by io8sm agent)
├── backend/                           # Backend service for 'Simple Notes Taking App' (Developed by io8developer agent)
│   └── src/                           # Source code directory (e.g., Java Spring Boot, Python Flask/Django)
│       └── main/                      # Main source files
│           └── java/                  # Example for Java project
│               └── com/
│                   └── notesapp/
│                       └── NotesAppApplication.java # Main application entry point
│                       └── controller/              # REST API controllers
│                           └── NoteController.java  # Handles note-related API requests
│                       └── model/                   # Data models/entities
│                           └── Note.java            # Represents a single note
│                       └── repository/              # Data access layer
│                           └── NoteRepository.java  # Interface for database operations
│                       └── service/                 # Business logic layer
│                           └── NoteService.java     # Implements note creation, retrieval, update, delete
│       └── resources/                 # Configuration and static resources
│           └── application.yml        # Spring Boot application configuration (e.g., database connection, server port)
│           └── data.sql               # Initial data script
│   └── pom.xml                        # Maven project file (or build.gradle for Gradle, requirements.txt for Python)
│   └── .env.example                   # Example environment variables for backend configuration
├── frontend/                          # Frontend application for 'Simple Notes Taking App' (Developed by io8developer agent)
│   └── public/                        # Static assets (e.g., for React, Vue, Angular)
│       └── index.html                 # Main HTML file, entry point for the single-page application
│       └── favicon.ico                # Website icon
│   └── src/                           # Source code directory (e.g., JavaScript/TypeScript files)
│       └── components/                # Reusable UI components
│           └── NoteList.js            # Component to display a list of notes
│           └── NoteForm.js            # Component for adding/editing a note
│           └── Header.js              # Application header component
│       └── App.js                     # Main application component, orchestrates other components
│       └── index.js                   # Entry point for the frontend JavaScript application
│       └── styles/                    # Global styles
│           └── App.css                # Application-specific CSS
│   └── package.json                   # npm/yarn project file, lists dependencies and scripts
│   └── README.md                      # Frontend-specific README, build instructions, etc.
│   └── .env.example                   # Example environment variables for frontend configuration (e.g., backend API URL)
├── deployment_config.yml              # Root level deployment configuration for 'Simple Notes Taking App' (Managed by io8devops agent)
├── Dockerfile.backend                 # Dockerfile for building the backend service of 'Simple Notes Taking App' (Managed by io8devops agent)
├── Dockerfile.frontend                # Dockerfile for building the frontend application of 'Simple Notes Taking App' (Managed by io8devops agent)
└── docker-compose.yml                 # Docker Compose file for orchestrating 'Simple Notes Taking App' services locally (Managed by io8devops agent)
```

### Customization Notes:
-   The `cloned_base_project_notes_app/` directory name is specific to this project to avoid generic naming.
-   Example subdirectories within `backend/` and `frontend/` (e.g., `controller/`, `model/`, `components/`) are provided to illustrate a common architectural pattern for a 'Simple Notes Taking App'. The specific language and framework structure will be determined by the io8architect and io8developer agents.
-   The actual content of the configuration files (`deployment_config.yml`, `Dockerfile.*`, `docker-compose.yml`) will be generated by the io8devops agent.
-   The `.md` documents within `.sureai/` are explicitly marked with which agent is responsible for their creation.
