ga-plugins-cli 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ga-plugins-cli",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "CLI to install GA Migration Claude Code plugins globally at user level (~/.claude/plugins/)",
5
5
  "bin": {
6
6
  "ga-plugins-cli": "./dist/index.js"
@@ -4,99 +4,45 @@ Generate a complete, production-ready thin Go microservice wired to go-ga-lib. T
4
4
 
5
5
  ---
6
6
 
7
- ## Step 1: Interactive Wizard
7
+ ## Step 1: Intake Form
8
8
 
9
- Ask ALL questions in order before writing any files. Collect all answers first, then generate everything at once.
9
+ > **CRITICAL READ BEFORE OUTPUTTING ANYTHING:**
10
+ > Output the ENTIRE form below in **ONE single message**.
11
+ > **FORBIDDEN:** Do NOT ask Q1 then wait, then ask Q2, etc.
12
+ > **FORBIDDEN:** Do NOT output partial questions or sequential prompts.
13
+ > Show ALL 8 questions together as a single form, then wait for the user to reply with ALL answers in ONE message.
10
14
 
11
- ### Q1Service name
15
+ Show the form exactly like this the complete block, nothing else:
12
16
 
13
- Ask:
14
-
15
- > "Domain / service name? (e.g. booking, payment, notification)"
16
-
17
- Record as `<service-name>`. This becomes:
18
- - The output folder name: `<service-name>-service/`
19
- - Part of the default module path: `github.com/zokypesch/<service-name>-service`
20
- - Package names throughout the code
21
-
22
- ### Q2 — Service type
23
-
24
- Ask:
25
-
26
- > "Service type?
27
- > (1) API server HTTP only, no message consumption
28
- > (2) Message consumer — consumes messages, no HTTP API (worker process)
29
- > (3) Both HTTP API + message consumption"
30
-
31
- Record as `<service-type>`. Values: `api`, `consumer`, `both`.
32
-
33
- ### Q3 — SQL database
34
-
35
- Ask:
36
-
37
- > "SQL database?
38
- > (1) MySQL 8.4
39
- > (2) PostgreSQL 18.4
40
- > (3) None"
41
-
42
- Record as `<sql-choice>`. Values: `mysql`, `postgres`, `none`.
43
-
44
- ### Q4 — NoSQL stores
45
-
46
- Ask:
47
-
48
- > "NoSQL store(s)? Select all that apply (comma-separated numbers, e.g. 1,3):
49
- > (1) Redis
50
- > (2) Elasticsearch
51
- > (3) MongoDB
52
- > (4) Cassandra
53
- > (5) ClickHouse
54
- > (6) pgvector
55
- > (7) Neo4j
56
- > (8) None"
57
-
58
- Record as `<nosql-choices>` (a list). If the user picks 8 or leaves blank, set to empty list.
59
-
60
- ### Q5 — Message broker (only if `<service-type>` is `consumer` or `both`)
61
-
62
- If `<service-type>` is `api`, skip this question and set `<broker>` to `none`.
63
-
64
- Otherwise ask:
65
-
66
- > "Message broker?
67
- > (1) Kafka
68
- > (2) RabbitMQ
69
- > (3) ActiveMQ
70
- > (4) NSQ"
71
-
72
- Record as `<broker>`. Values: `kafka`, `rabbitmq`, `activemq`, `nsq`.
73
-
74
- ### Q6 — HTTP port
75
-
76
- Ask:
77
-
78
- > "HTTP port? (press Enter for default: 8080)"
79
-
80
- Record as `<http-port>`. Default: `8080`. Only used if `<service-type>` is `api` or `both`.
81
-
82
- ### Q7 — Go module path
83
-
84
- Ask:
85
-
86
- > "Go module path for this service? (press Enter for default: github.com/zokypesch/<service-name>-service)"
87
-
88
- Record as `<module-path>`. Default: `github.com/zokypesch/<service-name>-service`.
89
-
90
- ### Q8 — go-ga-lib version
91
-
92
- Ask:
93
-
94
- > "go-ga-lib version to pin?
95
- > Enter a git tag (e.g. v1.0.0) for a production service.
96
- > Enter 'local' to use a replace directive pointing to the local go-ga-lib clone (D:/project/asyst/go-ga-lib).
97
- > (default: local)"
17
+ ```
18
+ ┌─────────────────────────────────────────────────────────┐
19
+ │ scaffold-service configuration │
20
+ └─────────────────────────────────────────────────────────┘
21
+
22
+ Fill in ALL fields below and reply with the completed form:
23
+
24
+ 1. Service name (e.g. booking, payment, notification): ___
25
+ 2. Service type (1=API only 2=Consumer only 3=Both): ___
26
+ 3. SQL database (1=MySQL 2=PostgreSQL 3=None): ___
27
+ 4. NoSQL store(s) (comma-separated: 1=Redis 2=Elasticsearch
28
+ 3=MongoDB 4=Cassandra 5=ClickHouse
29
+ 6=pgvector 7=Neo4j 8=None): ___
30
+ 5. Message broker (1=Kafka 2=RabbitMQ 3=ActiveMQ 4=NSQ
31
+ leave blank if service type=1): ___
32
+ 6. HTTP port (default 8080): ___
33
+ 7. Go module path (default github.com/zokypesch/<name>-service): ___
34
+ 8. go-ga-lib version (git tag e.g. v1.0.0, or 'local'): ___
35
+ ```
98
36
 
99
- Record as `<ga-lib-version>`. Default: `local`.
37
+ After outputting the form, stop and wait for the user to reply with all answers in one message. Parse them as follows:
38
+ - Q1 → `<service-name>` (used for folder name and package names)
39
+ - Q2 → `<service-type>`: `1`→`api`, `2`→`consumer`, `3`→`both`
40
+ - Q3 → `<sql-choice>`: `1`→`mysql`, `2`→`postgres`, `3`→`none`
41
+ - Q4 → `<nosql-choices>`: list of chosen numbers; empty/`8`→empty list
42
+ - Q5 → `<broker>`: `1`→`kafka`, `2`→`rabbitmq`, `3`→`activemq`, `4`→`nsq`; blank/skipped→`none`. Ignore if `<service-type>` is `api`.
43
+ - Q6 → `<http-port>`: default `8080`. Ignored if `<service-type>` is `consumer`.
44
+ - Q7 → `<module-path>`: default `github.com/zokypesch/<service-name>-service`
45
+ - Q8 → `<ga-lib-version>`: default `local`
100
46
 
101
47
  ---
102
48