Files
2025-09-05 14:38:22 -05:00

64 lines
2.0 KiB
Markdown

# 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 <directory_path> [file_pattern]
```
- `<directory_path>`: 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.