# AI Language Note Organizer This project is a command-line application that uses the Google Gemini API to automatically organize your language class notes. It takes a directory of markdown files, identifies common themes and topics, and generates a single, well-structured markdown file with your notes grouped under relevant headings. ## Features - **Recursive File Scanning:** Automatically scans through nested directories to find your note files. - **Flexible Filtering:** Use a simple text pattern to specify which notes to process (e.g., "Japanese" or "Spanish_Class"). - **AI-Powered Organization:** Leverages the Gemini API to intelligently categorize and structure your notes. - **Non-Destructive:** Your original note files are never modified. ## Installation 1. **Clone the repository:** ```bash git clone https://github.com/your-username/language-note-organizer.git cd language-note-organizer ``` 2. **Install the dependencies:** ```bash npm install ``` 3. **Set up your environment variables:** - Create a `.env` file in the root of the project. - Add your Google Gemini API key to the `.env` file: ``` GEMINI_API_KEY=your_api_key_here ``` ## Usage Run the application from your terminal with the following command: ```bash node index.js [file_pattern] ``` - ``: The path to the folder containing your note files. - `[file_pattern]` (Optional): A keyword or pattern to filter the files. Only files with names containing this pattern will be processed. ### Example Imagine you have a `notes/` directory with the following structure: ``` notes/ ├── japanese/ │ ├── 2023-10-26_Japanese_Grammar.md │ └── 2023-10-27_Japanese_Vocab.md └── spanish/ └── 2023-11-01_Spanish_Phrases.md ``` To organize only the Japanese notes, you would run: ```bash node index.js notes/ japanese ``` The script will create a new file named `organized_notes.md` in the project's root directory with the organized content from your Japanese notes.