# Project SPEC Sheet: AI Language Note Organizer ## 1. Project Goals - Develop an application to organize markdown-based language class notes from a specified directory. - Use an AI to analyze, group, and create headings for related notes. - Produce a single, organized markdown file for easy reference, without altering the original files. ## 2. Core Functionality - **File Input:** Accept a directory path and a file name pattern from the user. - **Note Processing:** Scan for markdown files in the directory that match the specified pattern (e.g., containing "Chinese Class" or "Japanese Class"). Extract content from these files. - **AI Organization:** - Use an AI model (Primary: Google Gemini API) to understand the note content. - The AI will identify themes and topics (e.g., "Verb Conjugation," "Cultural Notes"). - **Output Generation:** Create a new, single markdown file with notes grouped under AI-generated headings. ## 3. Technical Specifications - **Language:** Node.js - **AI Service:** Google Gemini API. I'll handle the integration; you'll just need to provide the key when the time comes. - **User Interface:** A simple Command-Line Interface (CLI). ## 4. Project Outline 1. **Setup:** Initialize a Node.js project. 2. **File Reader:** Build a module to find and read markdown files from a directory that match a user-provided naming pattern. 3. **AI Integration:** Create a module to communicate with the Gemini API. 4. **Note Organizer:** Implement logic to group notes based on the AI's analysis. 5. **Output Writer:** Write the organized notes to a new file. 6. **CLI:** Build the user interface. 7. **Testing:** Write tests to ensure all parts are working correctly.