# 如何開發 Venom
## 第一步:取得 Venom Template
### 1. Global npm 設定 - 設定私有 npm Registry
> 因為專案都是存在實驗室的 Gitlab 中,都是私有的,所以才會需要這一步。
其中的 `{{你的 GitLab PAT}}` 要自行去取得,參考[這裡](https://docs.gitlab.com/user/profile/personal_access_tokens/#create-a-personal-access-token)。
> 申請 PAT 前,確保你的帳號有被加進 [AR Project](http://140.115.59.165/ar-project) 這個 Group 中,不然會沒有權限存取。
```bash
npm config set @ar-project:registry https://gitlab.oolab.csie.ncu.edu.tw/api/v4/packages/npm/
npm config set //gitlab.oolab.csie.ncu.edu.tw/api/v4/packages/npm/:_authToken {{你的 GitLab PAT}}
```
### 2. 取得 Template
透過指令和參數取得想要的 Template。
> `npm` 和 `npx` 兩種方式擇一即可,效果都是一樣的。
#### npm
```bash
npm create @ar-project/venom-app@latest {{your-project}}
# 指定模板
npm create @ar-project/venom-app@latest {{your-project}} -- --template react-ts
npm create @ar-project/venom-app@latest {{your-project}} -- -t html-js
# 使用 SSH (預設透過 Credential)
npm create @ar-project/venom-app@latest {{your-project}} -- --ssh
npm create @ar-project/venom-app@latest {{your-project}} -- --s -t react-ts
```
#### npx
```bash
npx @ar-project/create-venom-app {{your-project}}
# 指定模板
npx @ar-project/create-venom-app {{your-project}} --template react-ts
npx @ar-project/create-venom-app {{your-project}} -t html-js
# 使用 SSH (預設透過 Credential)
npx @ar-project/create-venom-app {{your-project}} --ssh
npx @ar-project/create-venom-app {{your-project}} -s -t react-ts
```
### 命令參數
| 參數 | 簡寫 | 說明 | 範例 |
|------|------|------|------|
| `--template` | `-t` | 指定模板類型 | `--template react-ts` |
| `--ssh` | `-s` | 身份驗證方式,預設使用 Credential | `--ssh` |
### 可用模板
- `react-ts`: React + TypeScript 模板
- `html-js`: HTML + JavaScript 模板
### 3. 成功取得 Template


:::spoiler 如果不想用指令取得,參考直接 clone 的做法
## 第一步:clone [Electron-parasite Template](http://140.115.59.165/ar-project/template/electron-parasite)
- 進入 [Electron-parasite Template](http://140.115.59.165/ar-project/template/electron-parasite) 畫面

- 點擊 clone 複製網址

- 打開 cmd

- cd 到你想要的 path

- 下 git 指令:`git clone {剛剛複製的網址}`

- 用 vsCode 打開 clone 下來的資料夾

- vsCode 畫面

:::