Skip to content

Add interactive project setup wizard to setup-project.sh #48

@PAMulligan

Description

@PAMulligan

Description

Add an interactive mode to `setup-project.sh` that guides users through project configuration with prompts. Currently all options must be passed as CLI flags.

Why

New users shouldn't need to read documentation to create their first project. An interactive wizard with sensible defaults provides a guided experience that's friendlier than memorizing flags.

Acceptance Criteria

  • When `setup-project.sh` is called with just a project name (no flags), enter interactive mode
  • Prompt for:
    • Deployment target (Cloudflare Workers / Node.js) with default
    • Database provider (PostgreSQL / SQLite) with default based on target
    • Include example routes? (y/N)
    • Initialize git? (Y/n)
  • Use `read -p` or `select` for prompts with colored output
  • All existing flags continue to work (non-interactive mode)
  • `--no-interactive` flag to force non-interactive (for CI usage)
  • CI passes

Example

```
$ ./scripts/setup-project.sh my-api

Nerva Project Setup

? Deployment target:

  1. Node.js (Docker) [default]
  2. Cloudflare Workers

1

? Database provider:

  1. PostgreSQL [default]
  2. SQLite

1

? Include example routes? (y/N): y
? Initialize git repository? (Y/n): Y

Creating project: my-api (Node.js + PostgreSQL)...
```

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions