An open API service indexing awesome lists of open source software.

https://github.com/stanleygomes/codex-notes

🚀 The Note Plugin for IntelijIdea
https://github.com/stanleygomes/codex-notes

gradle intelij kotlin notes-app plugin

Last synced: 5 months ago
JSON representation

🚀 The Note Plugin for IntelijIdea

Awesome Lists containing this project

README

          

# 🗒️ Codex Notes

[![Build](https://github.com/stanleygomes/codex-notes/workflows/Build/badge.svg)][gh:build]
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![Kotlin](https://img.shields.io/badge/kotlin-%237F52FF.svg?style=for-the-badge&logo=kotlin&logoColor=white)](https://kotlinlang.org/)
[![IntelliJ IDEA](https://img.shields.io/badge/IntelliJIDEA-000000.svg?style=for-the-badge&logo=intellij-idea&logoColor=white)](https://www.jetbrains.com/idea/)
[![Gradle](https://img.shields.io/badge/Gradle-02303A.svg?style=for-the-badge&logo=Gradle&logoColor=white)](https://gradle.org/)
[![Java](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge&logo=openjdk&logoColor=white)](https://openjdk.org/)

**Codex Notes** is a powerful IntelliJ IDEA plugin for managing notes directly within your IDE. Keep your thoughts, code snippets, and documentation organized without leaving your development environment.

## ✨ Features

- 📝 **Create and manage notes** with markdown support
- 🔍 **Search notes**
- ⭐ **Favorite notes** for quick access
- 🔄 **Sort notes** by title, date, or favorite status
- ⚙️ **Customizable settings** for file extension and sorting preferences
- 💾 **Persistent storage** - your notes are saved automatically

## 📋 Table of Contents

- [Installation](#-installation)
- [Usage](#-usage)
- [Keyboard Shortcuts](#-keyboard-shortcuts)
- [Configuration](#-configuration)
- [Development](#-development)
- [Requirements](#requirements)
- [Building from source](#building-from-source)
- [Running tests](#running-tests)
- [Running code inspections](#running-code-inspections)
- [CI/CD](#-cicd)
- [Contributing](#-contributing)
- [License](#-license)

## 📦 Installation

### From JetBrains Marketplace (Coming Soon)
1. Open IntelliJ IDEA
2. Go to `Settings/Preferences` → `Plugins` → `Marketplace`
3. Search for "Codex Notes"
4. Click `Install`

### Manual Installation
1. Download the latest release from [GitHub Releases](https://github.com/stanleygomes/codex-notes/releases)
2. Open IntelliJ IDEA
3. Go to `Settings/Preferences` → `Plugins` → ⚙️ → `Install Plugin from Disk`
4. Select the downloaded `.jar` file

## 🚀 Usage

### Opening the Tool Window
- Click on the **Codex Notes** icon in the right sidebar
- Or use the menu: `View` → `Tool Windows` → `Codex Notes`

### Creating a Note
1. Click the `+` (Create new note) button in the toolbar
2. A new note file will be created with a timestamp
3. The note will open automatically in the editor

### Searching Notes
1. Click the 🔍 (Search) button in the toolbar
2. Type your search query in the search field
3. Notes will be filtered in real-time

### Managing Notes
- **Favorite**: Right-click a note → `Favorite` (or press `F`)
- **Rename**: Right-click a note → `Rename` (or press `F2`)
- **Delete**: Right-click a note → `Delete` (or press `Delete`)
- **Open**: Double-click a note (or press `Enter`)

### Sorting Notes
1. Click the sort icon in the toolbar
2. Choose sorting method:
- **By Title**: Alphabetical order
- **By Date**: Most recently modified first
- **By Favorite**: Favorites first, then by date

## ⌨️ Keyboard Shortcuts

| Action | Shortcut |
|--------|----------|
| Open note | `Double-click` or `Enter` |
| Rename note | `F2` |
| Toggle favorite | `F` |
| Delete note | `Delete` |

## ⚙️ Configuration

Access settings via `Settings/Preferences` → `Tools` → `Notes Plugin`

### Available Settings
- **Default File Extension**: Set the default extension for new notes (e.g., `.md`, `.txt`)
- **Default Sort Type**: Choose the default sorting method for notes

## 🛠️ Development

### Requirements
- Java 21+
- IntelliJ IDEA 2025.2.5+
- Gradle 9.3.1+

### Building from Source

```bash
# Clone the repository
git clone https://github.com/stanleygomes/codex-notes.git
cd codex-notes

# Build the plugin
make build-plugin

# The plugin will be available in build/distributions/
```

### Running in Development Mode

```bash
# Run the plugin in a sandboxed IDE
make run
```

### Running Tests

```bash
# Run all tests
make test

# Run tests with coverage
make test-coverage
```

Coverage reports are generated in `build/reports/jacoco/test/html/index.html` and are generated by Kover Gradle plugin.

### Running Code Inspections

```bash
# Run Qodana code inspections
make inspections
```

## 🚀 CI/CD

This project uses GitHub Actions for continuous integration and deployment. The following workflows are configured:

### Build Workflow (`build.yml`)
- **Trigger**: Push to `master` branch or pull requests
- **Actions**:
- Validates Gradle Wrapper
- Runs unit tests and plugin verification
- Executes Qodana code inspections
- Builds the plugin
- Runs plugin verifier
- Creates a draft release for manual review

### Release Workflow (`release.yml`)
- **Trigger**: GitHub release publication
- **Actions**:
- Signs and publishes the plugin to JetBrains Marketplace
- Updates changelog

### UI Tests Workflow (`run-ui-tests.yml`)
- **Trigger**: Manual
- **Actions**:
- Runs UI tests on macOS, Windows, and Linux

### Template Verify (`template-verify.yml`)
- **Trigger**: Repository creation from template
- **Actions**:
- Verifies template setup

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## 📜 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🔗 Links

- [GitHub Repository](https://github.com/stanleygomes/codex-notes)
- [Issue Tracker](https://github.com/stanleygomes/codex-notes/issues)
- [Changelog](CHANGELOG.md)
- [Plugin Configuration File](https://plugins.jetbrains.com/docs/intellij/plugin-configuration-file.html?from=IJPluginTemplate)
- [Marktplace](https://plugins.jetbrains.com/author/me)
- Plugin based on the [IntelliJ Platform Plugin Template](https://github.com/JetBrains/intellij-platform-plugin-template)
- Publish plugin using [Gradle IntelliJ Plugin](https://plugins.jetbrains.com/docs/intellij/publishing-plugin.html?from=IJPluginTemplate#uploading-a-plugin-to-jetbrains-marketplace)

---

Made with 🔥 by NazarethLabs

[gh:build]: https://github.com/stanleygomes/codex-notes/actions?query=workflow%3ABuild