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
|
@@ -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:
|
|
7
|
+
## Step 1: Intake Form
|
|
8
8
|
|
|
9
|
-
|
|
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
|
-
|
|
15
|
+
Show the form exactly like this — the complete block, nothing else:
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
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
|
|