4ffef1cc887d2fa9d49fb5de99f5d1f01f9c4e84
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
-
Clone the repository:
git clone https://github.com/your-username/language-note-organizer.git cd language-note-organizer -
Install the dependencies:
npm install -
Set up your environment variables:
- Create a
.envfile in the root of the project. - Add your Google Gemini API key to the
.envfile:GEMINI_API_KEY=your_api_key_here
- Create a
Usage
Run the application from your terminal with the following command:
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:
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.
Description
Languages
JavaScript
100%