Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

testing #55

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
6348cb7
WIP: Walkthrough changes (#236)
nang-dev Aug 7, 2024
d2492e7
enable editorInsets for inline chat (#253)
Himanshu-Singh-Chauhan Aug 10, 2024
93afa4c
Fix .gitmodules
nang-dev Aug 13, 2024
32a2993
Update code.sh
nang-dev Aug 16, 2024
d6c4b40
update submodule to latest tip (#260)
Himanshu-Singh-Chauhan Aug 16, 2024
23dd39e
fix: #262 prioritize pearai commands (#264)
jpan8866 Aug 17, 2024
214a63d
Fixed code version
nang-dev Aug 18, 2024
12520a3
feat: docs and newchat shortcut on titlebar (#266)
Himanshu-Singh-Chauhan Aug 22, 2024
b4c9fc6
Update README.md (#276)
Fryingpannn Aug 25, 2024
0a99f95
Shortcut change to resize chat on the app side (#279)
MaxFSP Aug 27, 2024
43c1af7
update icon and watermark (#278)
Himanshu-Singh-Chauhan Aug 27, 2024
d6e05c0
Added product (#285)
nang-dev Aug 27, 2024
2497604
set quality:stable (#267)
Himanshu-Singh-Chauhan Aug 27, 2024
2215208
update MacOS example in CONTRIBUTING.md file: Packaging step 3 - int…
Pockylee Aug 27, 2024
4e9c06e
PearAI main app welcome page gif fixed (#286)
Pockylee Aug 29, 2024
be16ab4
Fixed walk through (#288)
nang-dev Aug 30, 2024
5c8a590
Added to readme (#295)
nang-dev Sep 3, 2024
f43562a
add hacker theme to pearai (#300)
andrewjhopkins Sep 9, 2024
6bfcb4d
Update README.md
Fryingpannn Sep 10, 2024
5ada7f7
Set default theme to PearAI Dark/Light (#322)
andrewjhopkins Sep 14, 2024
0dfd108
Added auto-updating working client-side (#340)
nang-dev Sep 17, 2024
980c32b
Updated wording (#341)
nang-dev Sep 17, 2024
b3ec777
Setup Environment with Space in Path (#335)
ashvinnihalani Sep 17, 2024
803cdc7
Added v1.1.0 (#344)
nang-dev Sep 18, 2024
69c3274
Bumped to v1.2.0
Sep 18, 2024
99bda92
Update README.md
Fryingpannn Sep 18, 2024
b6eff02
patch-wsl (add vscode commit) (#348)
Himanshu-Singh-Chauhan Sep 19, 2024
11ce7b2
Update README.md
Fryingpannn Sep 28, 2024
1fec74d
If you are looking for commit history, read this please
Oct 3, 2024
1e2cbc5
Updated to v1.3.0
Oct 6, 2024
ae1fc1e
add pear version in about
Himanshu-Singh-Chauhan Sep 26, 2024
90dbd86
Merge pull request #52 from Himanshu-Singh-Chauhan/him/version-about2
Fryingpannn Oct 9, 2024
2b2bebf
Update CONTRIBUTING.md
jpan8866 Oct 11, 2024
df72620
Update CONTRIBUTING.md
jpan8866 Oct 11, 2024
31f688f
Update CONTRIBUTING.md
jpan8866 Oct 11, 2024
7e10e10
testing
Himanshu-Singh-Chauhan Oct 12, 2024
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
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[submodule "extensions/pearai-submodule"]
path = extensions/pearai-submodule
url = https://github.com/trypear/pearai-extension.git
url = https://github.com/trypear/pearai-submodule.git
branch = main
17 changes: 11 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,16 +146,16 @@ You can also directly ping the maintainers or admins in the [Discord](https://di

## ⚙️ Packaging

This section outlines how to package the app for a new release/distribution. This process is a bit manual currently.
This section outlines how to the app for a new release/distribution. This process is a bit manual currently.

### Step 1: Package PearAI App
### Step 1: PearAI App

PearAI can be packaged for the following platforms: `win32-ia32 | win32-x64 | darwin-x64 | darwin-arm64 | linux-ia32 | linux-x64 | linux-arm`.
PearAI can be d for the following platforms: `win32-ia32 | win32-x64 | darwin-x64 | darwin-arm64 | linux-ia32 | linux-x64 | linux-arm`.

These `gulp` tasks are available:

- `vscode-[platform]`: Builds a packaged version for `[platform]`.
- `vscode-[platform]-min`: Builds a packaged and minified version for `[platform]`.
- `vscode-[platform]`: Builds a d version for `[platform]`.
- `vscode-[platform]-min`: Builds a d and minified version for `[platform]`.

1. If you have not already, run `./scripts/pearai/setup-environment.[sh,ps1]`.
2. If already ran that upon your first install, run `./scripts/pearai/install-dependencies.[sh,ps1]`.
Expand All @@ -176,9 +176,14 @@ This will generate the new PearAI app and takes around 1 hour.

### Step 3: Integrate the Extension

1. Copy the contents of the generated `extensions` folder into the `extensions/` folder of the packaged PearAI App.
1. Copy the generated `pearai.pearai-1.x.x` folder under `~/.vscode/extensions` to the `extensions` folder of the packaged PearAI App (right click on packaged app -> Show Package Contents).
2. Delete any existing `pearai-submodule` folder in the `extensions/` folder of the packaged PearAI app.
3. Double-click your overall PearAI app, and the extension should be built-in.
- On MacOS for example (Using VScode for .vsix installation)
1. `cp -r ~/.vscode/extensions/pearai.pearai-{PEARAI_VERSION} {PATH_TO_PearAI.app}/Contents/Resources/app/extension`
2. `rm -rf {PATH_TO_PearAI.app}/Contents/Resources/app/extensions/pearai-submodule `
3. Double-click your overall PearAI app, and the extension should be built-in.


### Step 4: Signing and Turn Into Installer

Expand Down
35 changes: 25 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,26 @@
# PearAI: The Open Source AI-Powered Code Editor

Supercharge your development with an editor designed for less coding, using AI. PearAI is forked from VSCode and Continue, and aims to reduce the time from ideation to conception for your product development by achieving the most seamless integration with AI.
## Note: This is our fork of VSCode. Our main functionality lives in our submodule, which you can find here: https://github.com/trypear/pearai-submodule. The number of commits to this repository will be fewer than our submodule.

To download the full product visit our homepage at https://trypear.ai.
Supercharge your development with an editor designed for less coding, using AI. PearAI is a fork of VSCode, and PearAI Submodule (https://github.com/trypear/pearai-submodule) is a fork of Continue. This is our starting point, and we aim to reduce the time from ideation to conception for your product development by achieving the most seamless integration with AI.

# Prerequisites

Get an API key from your favourite LLM provider. To obtain an OpenAI API key go to [platform.openai.com/account/api-keys](https://platform.openai.com/account/api-keys).
To download the full app, visit our homepage at https://trypear.ai.

## Features
* **Knows your code** - Pear has context on your database so you can ask questions about your code.
* **Auto-implement features** - Ask for a feature and receive a PR implementing it.
* **Knows your code** - Pear has context on your codebase so you can ask questions directly (code is stored locally on your computer).
* **UI/UX focused** - Pear puts the user experience first, making developing as seamless as possible.
* **Never start from scratch** - Pear comes with high-quality templates and boilerplate code for any type of project.
* **Batteries included** - Pear comes fully setup with shortcuts and terminal plugins used to supercharge development productivity.
* **Familiar feel** - Pear is a fork of VSCode, so you can pick up exactly where you left off.

See all features [here](https://trypear.ai/docs).

## Master Doc

Our [Master Document](https://docs.google.com/document/d/14jusGNbGRPT8X6GgEDbP1iab5q4X7_y-eFXK7Ky57IQ/edit) contains all links relevant to PearAI.

## Contributing

We welcome contributions from the community! Whether you're fixing a bug, improving the documentation, or adding a new feature, we appreciate your help in making PearAI better. There is a lot of context involved and we understand it can be overwhelming when first trying to join the project. Here is a quick summary of key information and how we currently work together:
- Pan and Nang conduct "Quests", which are 1-3 weeks sprints. We will pick out the current highest priority issues for these quests, ping everyone in our [Discord]([url](https://discord.gg/7QMraJUsQt)), and ask for applications to participate in them. The chosen people will help finish the tasks alongside us, participating in calls and working together. If help is needed, we may add more people to the quest.
- Pan and Nang conduct "Quests", which are 1-3 weeks sprints. We will pick out the current highest priority issues for these quests, ping everyone in our [Discord]([url](https://discord.gg/7QMraJUsQt)), and ask for applications to participate in them. The chosen people will help finish the tasks alongside us, participating in calls and working together. If help is needed, we may add more people to the quest. You can see the current open quests [here](https://github.com/orgs/trypear/projects?query=is%3Aopen).
- Outside of dedicated Quests, we also have a bunch of issues ([good first ones](https://github.com/trypear/pearai-app/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)) which are free to tackle. Make sure to leave a comment indicating you're working on it (check for existing comments also). You can raise a PR anytime and we usually review them pretty quickly.
- We have a lot on our plate so it's easy for us to miss something. The best way to get our attention is to ping us directly in our Discord server.

Expand Down Expand Up @@ -82,6 +79,24 @@ Thanks to these wonderful people who have contributed to this project:
- [Justain-Train](https://github.com/Justain-Train)
- [anisharaz](https://github.com/anisharaz)
- [sea-lene](https://github.com/sea-lene)
- [wflore19](https://github.com/wflore19)
- [MaxFSP](https://github.com/MaxFSP)
- [AdityaBhate](https://github.com/AdityaBhate)
- [jpan8866](https://github.com/jpan8866)
- [somwrks](https://github.com/somwrks)
- [seanlodhammar](https://github.com/seanlodhammar)
- [Yashasewi](https://github.com/Yashasewi)
- [jespiron](https://github.com/jespiron)
- [Pockylee](https://github.com/Pockylee)
- [quangcito](https://github.com/quangcito)
- [oracle-code](https://github.com/oracle-code)
- [Hi-Van](https://github.com/Hi-Van)
- [jeffrey-zang](https://github.com/jeffrey-zang)
- [MitchTM17](https://github.com/MitchTM17)
- [Alvarixxs](https://github.com/Alvarixxs)
- [vedantgrover](https://github.com/vedantgrover)
- [Vincexodus](https://github.com/Vincexodus)
- [AkMoh](https://github.com/AkMoh)

Feel free to join them and contribute!

35 changes: 34 additions & 1 deletion build/gulpfile.extensions.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,28 @@ const root = path.dirname(__dirname);
const commit = getVersion(root);
const plumber = require('gulp-plumber');
const ext = require('./lib/extensions');
const spawn = require('cross-spawn');
const through = require('through2');

function vitePlugin() {
return through.obj(function (file, enc, cb) {
if (file.isDirectory()) {
return cb();
}

const viteBuild = spawn('yarn', ['run', 'build'], {
cwd: path.join(root, 'extensions', 'pearai-inventory', 'gui'),
stdio: 'inherit'
});

viteBuild.on('close', (code) => {
if (code !== 0) {
this.emit('error', new Error(`Vite build failed with code ${code}`));
}
cb(null, file);
});
});
}

// To save 250ms for each gulp startup, we are caching the result here
// const compilations = glob.sync('**/tsconfig.json', {
Expand Down Expand Up @@ -67,6 +89,7 @@ const compilations = [
'extensions/vscode-api-tests/tsconfig.json',
'extensions/vscode-colorize-tests/tsconfig.json',
'extensions/vscode-test-resolver/tsconfig.json',
'extensions/pearai-inventory/tsconfig.json',

'.vscode/extensions/vscode-selfhost-test-provider/tsconfig.json',
];
Expand Down Expand Up @@ -179,9 +202,19 @@ const tasks = compilations.map(function (tsconfigFile) {
const input = es.merge(nonts, pipeline.tsProjectSrc());
const watchInput = watcher(src, { ...srcOpts, ...{ readDelay: 200 } });

return watchInput
const extensionWatch = watchInput
.pipe(util.incremental(pipeline, input))
.pipe(gulp.dest(out));

if (name === 'pearai-inventory') {
const guiWatch = gulp.src('gui/**/*', { cwd: path.join(root, 'extensions', name) })
.pipe(watcher('gui/**/*', { cwd: path.join(root, 'extensions', name), readDelay: 200 }))
.pipe(gulp.dest(path.join(out, 'gui')));

return es.merge(extensionWatch, guiWatch);
}

return extensionWatch;
}));

const compileBuildTask = task.define(`compile-build-extension-${name}`, task.series(cleanTask, () => {
Expand Down
1 change: 1 addition & 0 deletions extensions/npm/.vscodeignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
src/**
out/**
!dist/gui/**
tsconfig.json
.vscode/**
extension.webpack.config.js
Expand Down
5 changes: 5 additions & 0 deletions extensions/pearai-inventory/.vscode-test.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { defineConfig } from '@vscode/test-cli';

export default defineConfig({
files: 'out/test/**/*.test.js',
});
5 changes: 5 additions & 0 deletions extensions/pearai-inventory/.vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": ["dbaeumer.vscode-eslint", "connor4312.esbuild-problem-matchers", "ms-vscode.extension-test-runner"]
}
21 changes: 21 additions & 0 deletions extensions/pearai-inventory/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// A launch configuration that compiles the extension and then opens it inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
"version": "0.2.0",
"configurations": [
{
"name": "Run Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"preLaunchTask": "${defaultBuildTask}"
}
]
}
13 changes: 13 additions & 0 deletions extensions/pearai-inventory/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// Place your settings in this file to overwrite default and user settings.
{
"files.exclude": {
"out": false, // set this to true to hide the "out" folder with the compiled JS files
"dist": false // set this to true to hide the "dist" folder with the compiled JS files
},
"search.exclude": {
"out": true, // set this to false to include "out" folder in search results
"dist": true // set this to false to include "dist" folder in search results
},
// Turn off tsc task auto detection since we have the necessary tasks as npm scripts
"typescript.tsc.autoDetect": "off"
}
64 changes: 64 additions & 0 deletions extensions/pearai-inventory/.vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
{
"version": "2.0.0",
"tasks": [
{
"label": "watch",
"dependsOn": [
"npm: watch:tsc",
"npm: watch:esbuild"
],
"presentation": {
"reveal": "never"
},
"group": {
"kind": "build",
"isDefault": true
}
},
{
"type": "npm",
"script": "watch:esbuild",
"group": "build",
"problemMatcher": "$esbuild-watch",
"isBackground": true,
"label": "npm: watch:esbuild",
"presentation": {
"group": "watch",
"reveal": "never"
}
},
{
"type": "npm",
"script": "watch:tsc",
"group": "build",
"problemMatcher": "$tsc-watch",
"isBackground": true,
"label": "npm: watch:tsc",
"presentation": {
"group": "watch",
"reveal": "never"
}
},
{
"type": "npm",
"script": "watch-tests",
"problemMatcher": "$tsc-watch",
"isBackground": true,
"presentation": {
"reveal": "never",
"group": "watchers"
},
"group": "build"
},
{
"label": "tasks: watch-tests",
"dependsOn": [
"npm: watch",
"npm: watch-tests"
],
"problemMatcher": []
}
]
}
14 changes: 14 additions & 0 deletions extensions/pearai-inventory/.vscodeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.vscode/**
.vscode-test/**
out/**
node_modules/**
src/**
.gitignore
.yarnrc
esbuild.js
vsc-extension-quickstart.md
**/tsconfig.json
**/eslint.config.mjs
**/*.map
**/*.ts
**/.vscode-test.*
1 change: 1 addition & 0 deletions extensions/pearai-inventory/.yarnrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--ignore-engines true
9 changes: 9 additions & 0 deletions extensions/pearai-inventory/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Change Log

All notable changes to the "pearai-inventory" extension will be documented in this file.

Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.

## [Unreleased]

- Initial release
71 changes: 71 additions & 0 deletions extensions/pearai-inventory/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# pearai-inventory README

This is the README for your extension "pearai-inventory". After writing up a brief description, we recommend including the following sections.

## Features

Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file.

For example if there is an image subfolder under your extension project workspace:

\!\[feature X\]\(images/feature-x.png\)

> Tip: Many popular extensions utilize animations. This is an excellent way to show off your extension! We recommend short, focused animations that are easy to follow.

## Requirements

If you have any requirements or dependencies, add a section describing those and how to install and configure them.

## Extension Settings

Include if your extension adds any VS Code settings through the `contributes.configuration` extension point.

For example:

This extension contributes the following settings:

* `myExtension.enable`: Enable/disable this extension.
* `myExtension.thing`: Set to `blah` to do something.

## Known Issues

Calling out known issues can help limit users opening duplicate issues against your extension.

## Release Notes

Users appreciate release notes as you update your extension.

### 1.0.0

Initial release of ...

### 1.0.1

Fixed issue #.

### 1.1.0

Added features X, Y, and Z.

---

## Following extension guidelines

Ensure that you've read through the extensions guidelines and follow the best practices for creating your extension.

* [Extension Guidelines](https://code.visualstudio.com/api/references/extension-guidelines)

## Working with Markdown

You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts:

* Split the editor (`Cmd+\` on macOS or `Ctrl+\` on Windows and Linux).
* Toggle preview (`Shift+Cmd+V` on macOS or `Shift+Ctrl+V` on Windows and Linux).
* Press `Ctrl+Space` (Windows, Linux, macOS) to see a list of Markdown snippets.

## For more information

* [Visual Studio Code's Markdown Support](http://code.visualstudio.com/docs/languages/markdown)
* [Markdown Syntax Reference](https://help.github.com/articles/markdown-basics/)

**Enjoy!**
Loading
Loading