命令手册
----------------

## 帮助系统：
```
bucky help 
bucky help -all
bucky help -action_name
bucky help -example
bucky doc 
```

## 初始化：init

```
bucky init [-i]
```

如果指定了`-i`选项，则会开始交互式创建solution、添加project、添加package的流程。

## 添加：add

#### 选项(option)

```
bucky add -i
bucky add -sln [-knowledge knowledgePath] [-demo]
bucky add -project project_path -target target
bucky add -package project_path/package_name [-example]
```

其中 `target` 可选的有：
- bucky
- h5
- wx
- rn

其中`bucky add -sln -demo`，在指定了demo后，会进入交互式命令行，从已有的demo创建solution，
可以通过该选项快速创建示例项目。

基本的结构包含是：
- 一个解决方案(solution)可以包含多个项目(project)，每个项目(project)下可以有多个包(package)。
- 同一个solution下，所有的package名字不能重复，即使处在不同的project下


#### 用法(usage)

- 进入交互式添加模式：
```
bucky add -i
```

- 添加解决方案(add solution)
```
bucky add -sln [-knowledge knowledgePath]
```

- 添加bucky项目(add bucky project)
```
bucky add -project source/test -target target
```

- 添加微信小程序项目(add wx project)
```
bucky add -project source/wx -target wx
```

- 添加bucky包(add bucky package)
```
bucky add -package source/test/calc -example
```

- 导入已有的包(import exist package)
```
bucky add -import source/test -target target
```

## 移除：remove
```
bucky remove -i
bucky remove -project projectpath
bucky remove -package packagepath
```

其中`bucky remove -i` 是交互式模式

## 列表：list
```
bucky list -i
bucky list -project
bucky list -package
```

列出工程和包，其中`bucky list -i`是交互式模式

## 编译(compile) 

- 编译solution(compile solution)
```
bucky compile
```

- 编译特定项目(compile project)
```
bucky compile -project project_path
```

## 生成代理包(proxy)
```
ndoe bucky.js proxy
```

## 发布(pub)

```
bucky pub
```

## 启动App(start)
```
bucky start
```

## 停止App(stop)
```
bucky stop
```

## 构建/部署

- 执行构建，包含编译、生成代理
```
bucky build
```

- 执行部署，包含发布，停止App，重启App
```
bucky deploy
```

## 管理Konwledge(manager knowledge)

- 重置App的Konwledge(reset app knowledge)
```
bucky k -reset
bucky k -reset -local
```

其中`-local`表示重置的是本机调试模式的Knowledge

- 查询(query knowledge)
```
bucky k -s 'ro global.runtimes'
```

其中`ro`表示read object, 

- 交互式查询模式(interactive mode)
```
bucky k -i
```

进入交互式查询模式后，可以输入查询命令

## 运行(run)
```
bucky run -main main.js
```

通过`run -main`执行测试代码文件并运行。

或者可以添加`-vscode`来生成在vscode里调试运行的配置(generate VSCose lauch script):
```
bucky run -main main.js -vscode
```

## 本地调试(debug)
```
bucky debug -main main.js
```

如果使用`debug`，则可以使用全本地模式调试代码

同样的可以生成vscode的启动配置(generate VSCose lauch script):
```
bucky debug -main main.js -vscode
```

## 配置(config)

- 设置或者更新用户信息并选择appid(set or update current user and select appid):
```
bucky config -user 
```

实际上，在`bucky deploy`或者`bucky k`相关的操作中，遇到需要开发者账号的地方会有交互式命令
行这只开发者账号，选择appid的过程，但也可以通过config命令单独操作。

- 首次/重新选择appid(select appid):
```
bucky config -appid
```

如果要查看当前的appid信息，添加`-current`选项：
```
bucky config -appid -current
```

- 改变konwledges.json的路径，默认在根目录下(change kownledge path):
```
bucky config -knowledge knowledgepath
```

## 日志级别(log level)

命令行工具下可以调整显示的日志级别，添加`-blog_level level`选项控制，默认是`error`级别的日志，可选的level有：
- all
- trace
- debug
- info
- warn
- error
- check
- fatal
- ctrl
- off

## XARPackage单元测试自动生成
```
bucky gentest
```

