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

https://github.com/g4rcez/writeme-editor


https://github.com/g4rcez/writeme-editor

codemirror electron floating-ui reactjs tailwindcss tiptap typescript

Last synced: 19 days ago
JSON representation

Awesome Lists containing this project

README

          

# writeme

This is designed to be a text editor that help you to interact with AI and took notes with super powers, by using our awesome

## Features

- **AI-Powered Editing**: Native integration with AI for content generation, refinement, and intelligent note-taking.
- **Markdown First**: Full Markdown support using Tiptap and Unified/Remark ecosystems.
- **Graph Visualization**: Interactive 2D force-directed graph to visualize connections between notes and hashtags.
- **Integrated Terminal**: Built-in terminal support (using xterm.js and node-pty) for developers.
- **Read It Later**: Web content scraper that transforms articles into clean, readable notes.
- **Hybrid Storage**: Support for both local filesystem (direct file access) and database-backed (Dexie/SQLite) storage modes.
- **Rich Media & Extensions**: Support for Excalidraw, Mermaid diagrams, KaTeX math, and Shiki syntax highlighting.
- **Cross-Platform**: Available as an Electron desktop application and a Progressive Web App (PWA).

## Installation

### macOS — Homebrew

```bash
brew tap g4rcez/writeme
```

**Desktop app:**

```bash
brew install --cask writeme
```

**CLI:**

```bash
brew install g4rcez/writeme/writeme
```

### Other platforms

Download the latest release for your platform from the [releases page](https://github.com/g4rcez/writeme-editor/releases):

| Platform | File |
| --- | --- |
| macOS (Apple Silicon) | `writeme--arm64.dmg` |
| macOS (Intel) | `writeme--x64.dmg` |
| Windows | `writeme-setup.exe` |
| Linux (Debian/Ubuntu) | `writeme__amd64.deb` |
| Linux (Fedora/RHEL) | `writeme-.x86_64.rpm` |

---

## How to develop

The project uses `npm` as the preferred package manager.

1. **Clone the repository**
2. **Install dependencies**

```bash
npm install
```

3. **Start in development mode**

- For Electron:

```bash
npm run dev
```
- For Browser/Web version:

```bash
npm run browser:dev
```

## How to build

### Desktop (Electron)

To package the application for your current platform:

```bash
npm run build:package
```

To create distributables (e.g., .deb, .exe, .zip):

```bash
npm run make
```

#### Installing the DMG locally (macOS)

The build is ad-hoc signed, which satisfies Apple Silicon's code-signing requirement but is not notarized. macOS will quarantine the downloaded file and block the first launch. Clear the quarantine flag before opening:

```bash
# Build
npm run make -- --platform=darwin

# Clear quarantine from the DMG before mounting
xattr -dr com.apple.quarantine out/make/writeme.dmg
```

Open the DMG, drag **writeme** to `/Applications`, then clear quarantine from the installed app:

```bash
xattr -cr /Applications/writeme.app
```

The app will open normally from that point on.

> **Distributing to other machines** requires a paid Apple Developer ID certificate and notarization. Set `APPLE_ID`, `APPLE_APP_SPECIFIC_PASSWORD`, and `APPLE_TEAM_ID` in your environment before running `npm run make` and the build will sign and notarize automatically.

### Web / PWA

To build the web version and generate PWA assets:

```bash
npm run pwa:build
```

## Roadmap

The following features are currently planned or in development:

- **Search Integration**: Full integration with TipTap Search extension.
- **Trash System**: Implementation of a Trash/Recycle Bin for deleted notes.
- **File Organization**: Implementation of a Folder and Notebook Tree structure in the sidebar.
- **Enhanced Database**: Improved SQLite backend integration for desktop.
- **Advanced Metadata**: Better support for frontmatter and note metadata.

## Troubleshooting

### IPC Communication

If the renderer process cannot communicate with the main process, ensure you are running in the Electron environment. Web-only features may have limited functionality compared to the desktop version.

### Native Modules

If the terminal fails to start on desktop, you might need to rebuild the native `node-pty` dependency:

```bash
./node_modules/.bin/electron-rebuild
```

### Storage Mode

If files are not appearing where expected, check the "Workspace" setting in the dashboard or settings page to verify your current directory configuration.

## LICENSE

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