64 lines
2.0 KiB
Markdown
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.
|