Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 65 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,71 @@
# Pulse Editor
## About
Pulse Editor is an editor designed to build and work with AI more naturally on cross-platform devices.

## Getting Started -- User Guide
### Web Client
<p align="center">
<img alt="Pulse Editor" src="shared-assets/icons/pulse_logo.svg">
</p>

<div align="center">

[![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/s6J54HFxQp)
[![Licence](https://img.shields.io/github/license/Ileriayo/markdown-badges?style=for-the-badge)](./LICENSE)
</div>

# Table of Contents
<span style="font-size: 16px;">

- [Pulse Editor](#pulse-editor)
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
- [Documentation](#documentation)
- [Getting Started -- User Guide](#getting-started----user-guide)
- [Web Client](#web-client)
- [Mobile Client](#mobile-client)
- [Desktop Client](#desktop-client)
- [VSCode Extension](#vscode-extension)
- [Getting Started -- Development Guide](#getting-started----development-guide)
- [Recommended Nodejs version](#recommended-nodejs-version)
- [Install dependencies](#install-dependencies)
- [Install dependencies (desktop native modules)](#install-dependencies-desktop-native-modules)
- [For Windows](#for-windows)
- [For Linux](#for-linux)
- [Web Development](#web-development)
- [Mobile Development](#mobile-development)
- [Desktop Development](#desktop-development)
- [VSCode Extension Development](#vscode-extension-development)
- [Pulse Editor Extension Development](#pulse-editor-extension-development)

</span>

# Introduction
Pulse Editor is an editor designed to develop and create with AI naturally and fluently on cross-platform devices.
# Documentation
The documentation will be available at https://docs.pulse-ediotr.com (WIP). You can find documentation repository [here](https://github.com/ClayPulse/docs).

# Getting Started -- User Guide
## Web Client
There is a web deployment at https://editor.claypulse.ai

For detailed web user guide, check out [Web User Guide](web/README.md)
### Mobile Client
## Mobile Client
Android client is available in release page.
>Current we only support Android, although it is technically possible to have an iOS build (see developer guide below).

For detailed mobile user guide, check out [Mobile User Guide](mobile/README.md)
### Desktop Client
## Desktop Client
Linux, MacOS, Windows clients are available in release page.
>Only Windows is tested in alpha release.
> [!NOTE]
> Only Windows is tested in alpha release.

For detailed desktop user guide, check out [Desktop User Guide](desktop/README.md)
### VSCode Extension
## VSCode Extension
A VSCode Webview Extension with limited features is available [here](https://marketplace.visualstudio.com/items?itemName=shellishack.pulse-editor).

For detailed VSCode extension user guide, check out [VSCode Extension User Guide](vscode-extension/README.md)


## Getting Started -- Development Guide
### Recommended Nodejs version
# Getting Started -- Development Guide
## Recommended Nodejs version
Nodejs 20
### Install dependencies
## Install dependencies
You can install dependencies for all workspaces using
```
npm i
Expand All @@ -36,14 +75,14 @@ Or, for a specific workspace. e.g. for web:
npm i --workspace=web
```

### Install dependencies (desktop native modules)
## Install dependencies (desktop native modules)
When dependencies in `desktop/`, use Electron's nodejs instead of local nodejs.

Make sure you have installed necessary build tools.
#### For Windows
### For Windows
Nodejs Windows Installer should already include windows-build-tools. In addition, make sure [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk) is also available:

#### For Linux
### For Linux
```
sudo apt install -y make python build-essential
```
Expand All @@ -61,14 +100,14 @@ For example, Electron may warn you need NODE_MODULE_VERSION 128. The correspondi
```


### Web Development
## Web Development
Pulse Editor uses Next.js as the frontend (and backend -- TBD).
You can get started with local development by running:
```bash
npm run web-dev
```

### Mobile Development
## Mobile Development
Pulse Editor uses Capacitor.js to create mobile apps on Android and iOS. To develop mobile app locally, run the following:
```bash
# Development with Live Reload. You need to first run a local development server as specified above.
Expand All @@ -78,7 +117,7 @@ npx cap run android -l --host [your_LAN_server_that_your_phone_can_access]
npm run android-build
```

### Desktop Development
## Desktop Development
Pulse Editor uses Electron.js to create desktop apps on Windows, Mac and Linux. To develop desktop app locally,
run:
```bash
Expand All @@ -90,7 +129,14 @@ npm run desktop-build

If you run `npm run desktop-build` for a production build, you can find an executable file inside `build/desktop`.

### VSCode Extension Development
## VSCode Extension Development
Pulse Editor uses VSCode Webview API to create a VSCode Extension. To develop VScode Extension locally, open the `vscode-extension` in a separate VSCode window. Then press F5 to launch debug task.

Note that you will also need to run the Nextjs server locally during development.

## Pulse Editor Extension Development
You can use our [template repository](https://github.com/ClayPulse/pulse-editor-extension-template) to get started developing extensions for Pulse Editor.

Some official extensions are also open-source. Feel free to take examples from them and/or contribute to them.
- [Pulse Editor Code View](https://github.com/ClayPulse/pulse-editor-code-view)
- [Pulse Editor Terminal](https://github.com/ClayPulse/pulse-editor-terminal)
4 changes: 2 additions & 2 deletions desktop/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
"node-pty": "^1.1.0-beta30"
},
"devDependencies": {
"@electron-forge/cli": "^7.6.0",
"@electron-forge/cli": "^7.7.0",
"@electron/rebuild": "^3.7.1",
"@types/node": "^22",
"electron": "^35.0.0"
"electron": "^35.0.2"
}
}
Loading