Skip to content

Commit 4c2f971

Browse files
authored
Merge pull request #7 from AsenaJs/develop
Cli documents updated
2 parents 5189183 + 5bd1279 commit 4c2f971

3 files changed

Lines changed: 53 additions & 3 deletions

File tree

docs/cli/commands.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Bootstrap a new Asena project with a complete development environment setup.
2929
### Features
3030

3131
- **Interactive Setup** - User-friendly setup experience with inquirer
32+
- **Non-Interactive Mode** - Support for SSH and CI/CD environments with CLI arguments
3233
- **Multi-Adapter Support** - Choose between Hono or Ergenecore adapters
3334
- **Project Structure** - Creates complete project structure with necessary files
3435
- **Default Components** - Generates default controller and server setup
@@ -37,15 +38,49 @@ Bootstrap a new Asena project with a complete development environment setup.
3738

3839
### Usage
3940

41+
**Interactive Mode** (prompts for all options):
42+
4043
```bash
4144
asena create
45+
# or create in current directory
46+
asena create .
47+
```
48+
49+
::: warning SSH Connection Issue
50+
Interactive prompts may not work properly over SSH connections or in non-TTY environments (CI/CD pipelines). Use non-interactive mode instead.
51+
:::
52+
53+
**Non-Interactive Mode** (specify options via CLI arguments):
54+
55+
```bash
56+
# Create with all features enabled
57+
asena create my-project --adapter=hono --logger --eslint --prettier
58+
59+
# Create in current directory without optional features
60+
asena create . --adapter=ergenecore --no-logger --no-eslint --no-prettier
61+
62+
# Mix of CLI arguments and interactive prompts
63+
asena create my-app --adapter=hono # Will prompt for remaining options
4264
```
4365

66+
### CLI Options
67+
68+
| Option | Description | Values | Default |
69+
|:-------|:------------|:-------|:--------|
70+
| `[project-name]` | Project name (use `.` for current directory) | Any string | Prompted |
71+
| `--adapter <adapter>` | Adapter to use | `hono`, `ergenecore` | Prompted |
72+
| `--logger` / `--no-logger` | Setup Asena logger | boolean | `true` |
73+
| `--eslint` / `--no-eslint` | Setup ESLint | boolean | `true` |
74+
| `--prettier` / `--no-prettier` | Setup Prettier | boolean | `true` |
75+
4476
### Interactive Prompts
4577

78+
When using interactive mode without CLI arguments:
79+
4680
```bash
4781
✔ Enter your project name: my-asena-app
4882
✔ Select adapter: Ergenecore
83+
✔ Do you want to setup logger? Yes
4984
✔ Do you want to setup ESLint? Yes
5085
✔ Do you want to setup Prettier? Yes
5186
⠙ Creating asena project...

docs/cli/examples.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ Answer the prompts:
4747
```bash
4848
✔ Enter your project name: my-asena-app
4949
✔ Select adapter: Ergenecore
50+
✔ Do you want to setup logger? Yes
5051
✔ Do you want to setup ESLint? Yes
5152
✔ Do you want to setup Prettier? Yes
5253
⠙ Creating asena project...
@@ -57,8 +58,13 @@ Answer the prompts:
5758
- **Hono** - Hono framework-based adapter with ecosystem compatibility
5859
:::
5960

60-
::: info ESLint and Prettier
61-
Setting up ESLint and Prettier is recommended for maintaining code quality and consistency.
61+
::: warning SSH or CI/CD Environment?
62+
If you're working over SSH or in a CI/CD pipeline, interactive prompts won't work. Use non-interactive mode instead:
63+
64+
```bash
65+
# Create project with all options via CLI arguments
66+
asena create my-asena-app --adapter=ergenecore --logger --eslint --prettier
67+
```
6268
:::
6369

6470
## Step 3: Verify Project Setup

public/llm.txt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,16 @@ Asena is a high-performance, NestJS-like IoC web framework built on Bun runtime
208208
- Troubleshooting (PATH, permissions, version mismatch)
209209

210210
- Commands: https://asena.sh/docs/cli/commands.html
211-
- asena create - Bootstrap new project (interactive)
211+
- asena create - Bootstrap new project
212+
- Interactive mode (default) - Prompts for all options
213+
- Non-interactive mode - For SSH/CI/CD environments with CLI arguments
214+
- CLI Options:
215+
- [project-name] - Project name (use '.' for current directory)
216+
- --adapter <adapter> - hono or ergenecore
217+
- --logger / --no-logger - Setup logger (default: true)
218+
- --eslint / --no-eslint - Setup ESLint (default: true)
219+
- --prettier / --no-prettier - Setup Prettier (default: true)
220+
- Example: asena create my-app --adapter=ergenecore --logger --eslint --prettier
212221
- asena generate (g) - Generate components:
213222
- asena g c [name] - Generate controller
214223
- asena g s [name] - Generate service

0 commit comments

Comments
 (0)