Fork channel

Create a new channel as a copy of main.

Rename channel

Rename main to:

Delete channel

Delete main? This cannot be undone.

README.md
# Pijul for VS Code

 ** Experimental ! **

[Pijul](https://pijul.org/) is a distributed version control system that is easy to learn and use.
This **experimental beta-version** extension provides access from VS Code to the essential features of Pijul:

- Add, Reset, or Record one, some, or all of the files in the Pijul Repository.
- Decorations in the file tree indicating the current state of each file.
- VS Code comparison integration for diffing working files with their last recorded versions.
- Basic views for the change log and the channels.

Other operations need to be done using Pijul's [command line interface](https://pijul.org/manual/reference.html) in a terminal.


## Installation

This extension is available in VS Code marketplace.  It requires Pijul.

To install Pijul,:

1. [Install pijul](https://pijul.org/manual/installing.html) (Tested with 1.0.0-beta.9)
2. Make sure that pijul is in the PATH: `pijul --version`
3. Create an identity: `pijul identity new`

To activate Pijul version control in a folder, run `pijul init` in the folder.

Feedback on this extension is welcome [on Zulip](https://nest.pijul.com/pcarbonn/pijul-vscode/discussions).


## Contributing

Pijul for VS Code welcomes all contributions.
Areas of development include:

- make all Pijul commands available from VS Code
- properly handle move and deletion of files
- show diff for past changes

To set-up your environment for [the development of a VS Code Extension](https://code.visualstudio.com/api/get-started/your-first-extension):

1. [Install Node](https://nodejs.org/en/learn/getting-started/how-to-install-nodejs), e.g., using [nvm](https://github.com/nvm-sh/nvm?tab=readme-ov-file#install--update-script):

```bash
nvm install node
```

2. Install dependencies

```bash
npm install -gD yo generator-code yarn webpack webpack-cli ts-loader
npm install --global @vscode/vsce
yarn
```

3. clone this repository:

```bash
pijul clone https://nest.pijul.com/pcarbonn/pijul-vscode
cd pijul-vscode
```

4. Add the following hook to your [Pijul config file](https://pijul.org/manual/configuration.html) for linting:

```
[hooks]
record = ["yarn run lint"]
```

5. create a channel for your changes (not `main`)

```bash
pijul fork <your name>
```

6. test and build this extension, as in [this example](https://code.visualstudio.com/api/get-started/your-first-extension).

To submit your change:

1. create an account on [The Nest](https://nest.pijul.com/)

2. send me a message to request access to my repository in [this discussion](https://nest.pijul.com/pcarbonn/pijul-vscode/discussions)

3. [create an SSH key](https://www.ssh.com/academy/ssh/keygen) if you don't have one yet, and note where it is stored (e.g. `~/.ssh/id_rsa.pub`)

4. copy your public SSH key to [The Nest](https://nest.pijul.com/pcarbonn?ssh) (possibly use `cat ~/.ssh/id_rsa.pub` to view it)

5. push your change: `pijul push pcarbonn@ssh.pijul.com:pcarbonn/pijul-vscode`

6. alert me of your submission in [this discussion](https://nest.pijul.com/pcarbonn/pijul-vscode/discussions)