From 6ef5058d7d1eeacc6ab306a7277f8ba16889cb50 Mon Sep 17 00:00:00 2001
From: FBarrca <201800222@alu.comillas.edu>
Date: Mon, 6 Jan 2025 01:18:50 +0100
Subject: [PATCH] Update README and change hotkey for AI tool activation
---
README.md | 177 ++++---
docs/demo.gif | Bin 0 -> 160617 bytes
package-lock.json | 1158 ++++++++++++++++++++-------------------------
src/main.ts | 2 +-
4 files changed, 633 insertions(+), 704 deletions(-)
create mode 100644 docs/demo.gif
diff --git a/README.md b/README.md
index 578b2e2..da7463d 100644
--- a/README.md
+++ b/README.md
@@ -1,96 +1,131 @@
-# Obsidian Sample Plugin
+
InlineAI Plugin
-This is a sample plugin for Obsidian (https://obsidian.md).
+
+ Documentation
+ ·
+ Report Bug
+ ·
+ Discussions
+
-This project uses TypeScript to provide type checking and documentation.
-The repo depends on the latest plugin API (obsidian.d.ts) in TypeScript Definition format, which contains TSDoc comments describing what it does.
+
-**Note:** The Obsidian API is still in early alpha and is subject to change at any time!
+---
-This sample plugin demonstrates some of the basic functionality the plugin API can do.
-- Adds a ribbon icon, which shows a Notice when clicked.
-- Adds a command "Open Sample Modal" which opens a Modal.
-- Adds a plugin setting tab to the settings page.
-- Registers a global click event and output 'click' to the console.
-- Registers a global interval which logs 'setInterval' to the console.
+> **💡 A Seamless AI Writing Experience in Obsidian**
+>
+> InlineAI enhances your workflow by integrating AI-powered suggestions, contextual edits, and advanced text transformations directly into your editor. Write faster, edit smarter, and unlock new creative possibilities—all within the Obsidian editor.
-## First time developing plugins?
+---
-Quick starting guide for new plugin devs:
+## 🌟 Features
-- Check if [someone already developed a plugin for what you want](https://obsidian.md/plugins)! There might be an existing plugin similar enough that you can partner up with.
-- Make a copy of this repo as a template with the "Use this template" button (login to GitHub if you don't see it).
-- Clone your repo to a local development folder. For convenience, you can place this folder in your `.obsidian/plugins/your-plugin-name` folder.
-- Install NodeJS, then run `npm i` in the command line under your repo folder.
-- Run `npm run dev` to compile your plugin from `main.ts` to `main.js`.
-- Make changes to `main.ts` (or create new `.ts` files). Those changes should be automatically compiled into `main.js`.
-- Reload Obsidian to load the new version of your plugin.
-- Enable plugin in settings window.
-- For updates to the Obsidian API run `npm update` in the command line under your repo folder.
+### **1. Context-Aware AI Assistance**
-## Releasing new releases
+- Transform text, summarize, or rewrite content using prompts tailored to your needs.
+- Define your own **system and transformation prompts** as commands for highly customized workflows.
-- Update your `manifest.json` with your new version number, such as `1.0.1`, and the minimum Obsidian version required for your latest release.
-- Update your `versions.json` file with `"new-plugin-version": "minimum-obsidian-version"` so older versions of Obsidian can download an older version of your plugin that's compatible.
-- Create new GitHub release using your new version number as the "Tag version". Use the exact version number, don't include a prefix `v`. See here for an example: https://github.com/obsidianmd/obsidian-sample-plugin/releases
-- Upload the files `manifest.json`, `main.js`, `styles.css` as binary attachments. Note: The manifest.json file must be in two places, first the root path of your repository and also in the release.
-- Publish the release.
+### **2. Inline Diff Visualization**
-> You can simplify the version bump process by running `npm version patch`, `npm version minor` or `npm version major` after updating `minAppVersion` manually in `manifest.json`.
-> The command will bump version in `manifest.json` and `package.json`, and add the entry for the new version to `versions.json`
+- Visualize AI-suggested changes with clear inline markers for added and removed text.
+- Accept or discard suggestions with a single click.
-## Adding your plugin to the community plugin list
+### **3. Full AI Integration**
-- Check the [plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines).
-- Publish an initial version.
-- Make sure you have a `README.md` file in the root of your repo.
-- Make a pull request at https://github.com/obsidianmd/obsidian-releases to add your plugin.
+- Supports **OpenAI**, **Ollama**, and other APIs.
+- Local model support for privacy-first workflows.
-## How to use
+---
-- Clone this repo.
-- Make sure your NodeJS is at least v16 (`node --version`).
-- `npm i` or `yarn` to install dependencies.
-- `npm run dev` to start compilation in watch mode.
+## ⚙️ Installation
-## Manually installing the plugin
+### **1. From Obsidian Plugin Store**
-- Copy over `main.js`, `styles.css`, `manifest.json` to your vault `VaultFolder/.obsidian/plugins/your-plugin-id/`.
+1. Open Obsidian Settings.
+2. Navigate to **Community Plugins** → **Browse**.
+3. Search for "InlineAI" and click **Install**.
+4. Enable the plugin in the Installed Plugins list.
-## Improve code quality with eslint (optional)
-- [ESLint](https://eslint.org/) is a tool that analyzes your code to quickly find problems. You can run ESLint against your plugin to find common bugs and ways to improve your code.
-- To use eslint with this project, make sure to install eslint from terminal:
- - `npm install -g eslint`
-- To use eslint to analyze this project use this command:
- - `eslint main.ts`
- - eslint will then create a report with suggestions for code improvement by file and line number.
-- If your source code is in a folder, such as `src`, you can use eslint with this command to analyze all files in that folder:
- - `eslint .\src\`
+### **2. Manual Installation**
-## Funding URL
+1. Download the latest release from the [GitHub Releases](https://github.com/FBarrca/obsidian-inlineai/releases).
+2. Copy `main.js`, `styles.css`, and `manifest.json` into your vault's `.obsidian/plugins/obsidian-inlineai/` directory.
+3. Enable the plugin via the Community Plugins tab.
-You can include funding URLs where people who use your plugin can financially support it.
+---
-The simple way is to set the `fundingUrl` field to your link in your `manifest.json` file:
+## 🚀 Getting Started
-```json
-{
- "fundingUrl": "https://buymeacoffee.com"
-}
-```
+### Initial Setup
-If you have multiple URLs, you can also do:
+1. **Set up your API key**:
-```json
-{
- "fundingUrl": {
- "Buy Me a Coffee": "https://buymeacoffee.com",
- "GitHub Sponsor": "https://github.com/sponsors",
- "Patreon": "https://www.patreon.com/"
- }
-}
-```
+ - Open the plugin settings in Obsidian.
+ - Enter your API key for OpenAI, Ollama, or any supported model provider.
+2. **Choose a model**:
-## API Documentation
+ - Supported models include `gpt-4`, `llama3.2`, and others.
+3. **Configure prompts**:
-See https://github.com/obsidianmd/obsidian-api
+ - Define system and transformation prompts in settings for customized interactions.
+
+### How to Use
+
+- **Trigger AI Tooltips**: Highlight text or place the cursor, then press `Ctrl + K` / `Cmd + K` to activate the tooltip(you can change the hotkey).
+- **Apply Edits**: Use the inline diff view to accept or discard AI-suggested changes.
+
+---
+
+---
+
+## 🔮 Roadmap
+
+InlineAI is actively evolving! Here’s what’s next:
+
+- **Tool use**: Save your commonly used tools as commands for easy use.
+
+Stay updated on our progress via the [GitHub Project Board](https://github.com/FBarrca/obsidian-inlineai/projects).
+
+---
+
+## 🙏 Feedback and Support
+
+We value your feedback and aim to make InlineAI the ultimate AI writing assistant:
+
+- **Bug Reports**: Submit issues on our [GitHub Issues](https://github.com/FBarrca/obsidian-inlineai/issues) page.
+- **Feature Requests**: Share ideas in the [Discussions](https://github.com/FBarrca/obsidian-inlineai/discussions) forum.
+- **Show Your Workflow**: Showcase your use cases in our [Community Showcase](https://github.com/FBarrca/obsidian-inlineai/discussions/categories/showcase).
+
+---
+
+## 🛠️ Development
+
+Want to contribute? Here’s how:
+
+1. Clone the repository:
+
+ ```bash
+
+ git clone https://github.com/FBarrca/obsidian-inlineai.git
+
+ ```
+2. Install dependencies:
+
+ ```bash
+
+ npm install
+
+ ```
+3. Build the plugin:
+
+ ```bash
+
+ npm run build
+
+ ```
+
+---
+
+## 📝 License
+
+This project is licensed under the [MIT License](LICENSE). Feel free to fork, contribute, and enhance the plugin!
\ No newline at end of file
diff --git a/docs/demo.gif b/docs/demo.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ee5bde79cfc1c7c8286c3b7dce156b8262926b3c
GIT binary patch
literal 160617
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