@semacode/cli 3.8.1 → 3.8.3
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/LICENSE +39 -39
- package/README.md +119 -119
- package/dist/driftEscopo.js +35 -0
- package/dist/iaPrompts.js +11 -11
- package/dist/index.part02.js +21 -21
- package/dist/index.part07.js +24 -24
- package/dist/initCommand.js +1 -1
- package/dist/initTemplatesBase.js +84 -84
- package/docs/README.md +15 -15
- package/docs/ai-onboarding.md +81 -81
- package/docs/cli.md +197 -197
- package/docs/deploy.md +54 -54
- package/docs/documentation.md +11 -11
- package/docs/drift-cache.md +108 -108
- package/docs/getting-started.md +82 -82
- package/docs/repositories.md +60 -60
- package/docs/rollback.md +38 -38
- package/docs/security.md +54 -54
- package/docs/sistemas-interativos.md +27 -27
- package/docs/support.md +8 -8
- package/docs/testing.md +123 -123
- package/docs/vocabulary.md +29 -29
- package/exemplos/express_crud.sema +139 -139
- package/exemplos/fastify_crud.sema +146 -146
- package/exemplos/koa_crud.sema +95 -95
- package/package.json +4 -4
- package/scripts/postinstall.mjs +148 -148
- package/skills/sema/SKILL.md +199 -199
|
@@ -1,139 +1,139 @@
|
|
|
1
|
-
module exemplos.express.crud {
|
|
2
|
-
entity Monitor {
|
|
3
|
-
fields {
|
|
4
|
-
id: Id
|
|
5
|
-
nome: Texto
|
|
6
|
-
url: Texto
|
|
7
|
-
ativo: Booleano
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
task criar_monitor {
|
|
12
|
-
input {
|
|
13
|
-
nome: Texto required
|
|
14
|
-
url: Texto required
|
|
15
|
-
}
|
|
16
|
-
output {
|
|
17
|
-
monitor: Monitor
|
|
18
|
-
}
|
|
19
|
-
rules {
|
|
20
|
-
nome deve_ser preenchido
|
|
21
|
-
url deve_ser preenchido
|
|
22
|
-
}
|
|
23
|
-
effects {
|
|
24
|
-
persistencia Monitor
|
|
25
|
-
auditoria monitor_criado
|
|
26
|
-
}
|
|
27
|
-
guarantees {
|
|
28
|
-
monitor existe
|
|
29
|
-
}
|
|
30
|
-
tests {
|
|
31
|
-
caso "cria monitor" {
|
|
32
|
-
given {
|
|
33
|
-
nome: "API Pagamentos"
|
|
34
|
-
url: "https://api.exemplo.dev/status"
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
expect {
|
|
38
|
-
sucesso: verdadeiro
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
task listar_monitores {
|
|
45
|
-
input {
|
|
46
|
-
ativo: Booleano
|
|
47
|
-
}
|
|
48
|
-
output {
|
|
49
|
-
monitores: Lista
|
|
50
|
-
}
|
|
51
|
-
effects {
|
|
52
|
-
consulta Monitor
|
|
53
|
-
}
|
|
54
|
-
guarantees {
|
|
55
|
-
monitores existe
|
|
56
|
-
}
|
|
57
|
-
tests {
|
|
58
|
-
caso "lista monitores" {
|
|
59
|
-
given {
|
|
60
|
-
ativo: verdadeiro
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
expect {
|
|
64
|
-
sucesso: verdadeiro
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
task remover_monitor {
|
|
71
|
-
input {
|
|
72
|
-
id: Id required
|
|
73
|
-
}
|
|
74
|
-
output {
|
|
75
|
-
removido: Booleano
|
|
76
|
-
}
|
|
77
|
-
rules {
|
|
78
|
-
id deve_ser valido
|
|
79
|
-
}
|
|
80
|
-
effects {
|
|
81
|
-
persistencia Monitor
|
|
82
|
-
auditoria monitor_removido
|
|
83
|
-
}
|
|
84
|
-
guarantees {
|
|
85
|
-
removido == verdadeiro
|
|
86
|
-
}
|
|
87
|
-
tests {
|
|
88
|
-
caso "remove monitor por id" {
|
|
89
|
-
given {
|
|
90
|
-
id: "mon_1"
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
expect {
|
|
94
|
-
sucesso: verdadeiro
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
route monitores_criar {
|
|
101
|
-
metodo: POST
|
|
102
|
-
caminho: /monitores
|
|
103
|
-
task: criar_monitor
|
|
104
|
-
finalidade: cadastro_monitor
|
|
105
|
-
input {
|
|
106
|
-
nome: Texto
|
|
107
|
-
url: Texto
|
|
108
|
-
}
|
|
109
|
-
output {
|
|
110
|
-
monitor: Monitor
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
route monitores_listar {
|
|
115
|
-
metodo: GET
|
|
116
|
-
caminho: /monitores
|
|
117
|
-
task: listar_monitores
|
|
118
|
-
finalidade: consulta_monitores
|
|
119
|
-
input {
|
|
120
|
-
ativo: Booleano
|
|
121
|
-
}
|
|
122
|
-
output {
|
|
123
|
-
monitores: Lista
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
route monitores_remover {
|
|
128
|
-
metodo: DELETE
|
|
129
|
-
caminho: "/monitores/{id}"
|
|
130
|
-
task: remover_monitor
|
|
131
|
-
finalidade: exclusao_monitor
|
|
132
|
-
input {
|
|
133
|
-
id: Id
|
|
134
|
-
}
|
|
135
|
-
output {
|
|
136
|
-
removido: Booleano
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
1
|
+
module exemplos.express.crud {
|
|
2
|
+
entity Monitor {
|
|
3
|
+
fields {
|
|
4
|
+
id: Id
|
|
5
|
+
nome: Texto
|
|
6
|
+
url: Texto
|
|
7
|
+
ativo: Booleano
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
task criar_monitor {
|
|
12
|
+
input {
|
|
13
|
+
nome: Texto required
|
|
14
|
+
url: Texto required
|
|
15
|
+
}
|
|
16
|
+
output {
|
|
17
|
+
monitor: Monitor
|
|
18
|
+
}
|
|
19
|
+
rules {
|
|
20
|
+
nome deve_ser preenchido
|
|
21
|
+
url deve_ser preenchido
|
|
22
|
+
}
|
|
23
|
+
effects {
|
|
24
|
+
persistencia Monitor
|
|
25
|
+
auditoria monitor_criado
|
|
26
|
+
}
|
|
27
|
+
guarantees {
|
|
28
|
+
monitor existe
|
|
29
|
+
}
|
|
30
|
+
tests {
|
|
31
|
+
caso "cria monitor" {
|
|
32
|
+
given {
|
|
33
|
+
nome: "API Pagamentos"
|
|
34
|
+
url: "https://api.exemplo.dev/status"
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
expect {
|
|
38
|
+
sucesso: verdadeiro
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
task listar_monitores {
|
|
45
|
+
input {
|
|
46
|
+
ativo: Booleano
|
|
47
|
+
}
|
|
48
|
+
output {
|
|
49
|
+
monitores: Lista
|
|
50
|
+
}
|
|
51
|
+
effects {
|
|
52
|
+
consulta Monitor
|
|
53
|
+
}
|
|
54
|
+
guarantees {
|
|
55
|
+
monitores existe
|
|
56
|
+
}
|
|
57
|
+
tests {
|
|
58
|
+
caso "lista monitores" {
|
|
59
|
+
given {
|
|
60
|
+
ativo: verdadeiro
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
expect {
|
|
64
|
+
sucesso: verdadeiro
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
task remover_monitor {
|
|
71
|
+
input {
|
|
72
|
+
id: Id required
|
|
73
|
+
}
|
|
74
|
+
output {
|
|
75
|
+
removido: Booleano
|
|
76
|
+
}
|
|
77
|
+
rules {
|
|
78
|
+
id deve_ser valido
|
|
79
|
+
}
|
|
80
|
+
effects {
|
|
81
|
+
persistencia Monitor
|
|
82
|
+
auditoria monitor_removido
|
|
83
|
+
}
|
|
84
|
+
guarantees {
|
|
85
|
+
removido == verdadeiro
|
|
86
|
+
}
|
|
87
|
+
tests {
|
|
88
|
+
caso "remove monitor por id" {
|
|
89
|
+
given {
|
|
90
|
+
id: "mon_1"
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
expect {
|
|
94
|
+
sucesso: verdadeiro
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
route monitores_criar {
|
|
101
|
+
metodo: POST
|
|
102
|
+
caminho: /monitores
|
|
103
|
+
task: criar_monitor
|
|
104
|
+
finalidade: cadastro_monitor
|
|
105
|
+
input {
|
|
106
|
+
nome: Texto
|
|
107
|
+
url: Texto
|
|
108
|
+
}
|
|
109
|
+
output {
|
|
110
|
+
monitor: Monitor
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
route monitores_listar {
|
|
115
|
+
metodo: GET
|
|
116
|
+
caminho: /monitores
|
|
117
|
+
task: listar_monitores
|
|
118
|
+
finalidade: consulta_monitores
|
|
119
|
+
input {
|
|
120
|
+
ativo: Booleano
|
|
121
|
+
}
|
|
122
|
+
output {
|
|
123
|
+
monitores: Lista
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
route monitores_remover {
|
|
128
|
+
metodo: DELETE
|
|
129
|
+
caminho: "/monitores/{id}"
|
|
130
|
+
task: remover_monitor
|
|
131
|
+
finalidade: exclusao_monitor
|
|
132
|
+
input {
|
|
133
|
+
id: Id
|
|
134
|
+
}
|
|
135
|
+
output {
|
|
136
|
+
removido: Booleano
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -1,146 +1,146 @@
|
|
|
1
|
-
module exemplos.fastify.crud {
|
|
2
|
-
entity Pedido {
|
|
3
|
-
fields {
|
|
4
|
-
id: Id
|
|
5
|
-
cliente: Texto
|
|
6
|
-
total: Decimal
|
|
7
|
-
status: Texto
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
task criar_pedido {
|
|
12
|
-
input {
|
|
13
|
-
cliente: Texto required
|
|
14
|
-
total: Decimal required
|
|
15
|
-
}
|
|
16
|
-
output {
|
|
17
|
-
pedido: Pedido
|
|
18
|
-
}
|
|
19
|
-
rules {
|
|
20
|
-
cliente deve_ser preenchido
|
|
21
|
-
total deve_ser positivo
|
|
22
|
-
}
|
|
23
|
-
effects {
|
|
24
|
-
persistencia Pedido
|
|
25
|
-
auditoria pedido_criado
|
|
26
|
-
}
|
|
27
|
-
guarantees {
|
|
28
|
-
pedido existe
|
|
29
|
-
}
|
|
30
|
-
tests {
|
|
31
|
-
caso "cria pedido" {
|
|
32
|
-
given {
|
|
33
|
-
cliente: "Ana"
|
|
34
|
-
total: 149.9
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
expect {
|
|
38
|
-
sucesso: verdadeiro
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
task obter_pedido {
|
|
45
|
-
input {
|
|
46
|
-
id: Id required
|
|
47
|
-
}
|
|
48
|
-
output {
|
|
49
|
-
pedido: Pedido
|
|
50
|
-
}
|
|
51
|
-
rules {
|
|
52
|
-
id deve_ser valido
|
|
53
|
-
}
|
|
54
|
-
effects {
|
|
55
|
-
consulta Pedido
|
|
56
|
-
}
|
|
57
|
-
guarantees {
|
|
58
|
-
pedido existe
|
|
59
|
-
}
|
|
60
|
-
tests {
|
|
61
|
-
caso "obtem pedido por id" {
|
|
62
|
-
given {
|
|
63
|
-
id: "ped_1"
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
expect {
|
|
67
|
-
sucesso: verdadeiro
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
task atualizar_pedido {
|
|
74
|
-
input {
|
|
75
|
-
id: Id required
|
|
76
|
-
status: Texto required
|
|
77
|
-
}
|
|
78
|
-
output {
|
|
79
|
-
pedido: Pedido
|
|
80
|
-
}
|
|
81
|
-
rules {
|
|
82
|
-
id deve_ser valido
|
|
83
|
-
status deve_ser preenchido
|
|
84
|
-
}
|
|
85
|
-
effects {
|
|
86
|
-
persistencia Pedido
|
|
87
|
-
auditoria pedido_atualizado
|
|
88
|
-
}
|
|
89
|
-
guarantees {
|
|
90
|
-
pedido existe
|
|
91
|
-
}
|
|
92
|
-
tests {
|
|
93
|
-
caso "atualiza status do pedido" {
|
|
94
|
-
given {
|
|
95
|
-
id: "ped_1"
|
|
96
|
-
status: "pago"
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
expect {
|
|
100
|
-
sucesso: verdadeiro
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
route pedidos_criar {
|
|
107
|
-
metodo: POST
|
|
108
|
-
caminho: /pedidos
|
|
109
|
-
task: criar_pedido
|
|
110
|
-
finalidade: cadastro_pedido
|
|
111
|
-
input {
|
|
112
|
-
cliente: Texto
|
|
113
|
-
total: Decimal
|
|
114
|
-
}
|
|
115
|
-
output {
|
|
116
|
-
pedido: Pedido
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
route pedidos_obter {
|
|
121
|
-
metodo: GET
|
|
122
|
-
caminho: "/pedidos/{id}"
|
|
123
|
-
task: obter_pedido
|
|
124
|
-
finalidade: consulta_pedido
|
|
125
|
-
input {
|
|
126
|
-
id: Id
|
|
127
|
-
}
|
|
128
|
-
output {
|
|
129
|
-
pedido: Pedido
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
route pedidos_atualizar {
|
|
134
|
-
metodo: PATCH
|
|
135
|
-
caminho: "/pedidos/{id}"
|
|
136
|
-
task: atualizar_pedido
|
|
137
|
-
finalidade: alteracao_pedido
|
|
138
|
-
input {
|
|
139
|
-
id: Id
|
|
140
|
-
status: Texto
|
|
141
|
-
}
|
|
142
|
-
output {
|
|
143
|
-
pedido: Pedido
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
1
|
+
module exemplos.fastify.crud {
|
|
2
|
+
entity Pedido {
|
|
3
|
+
fields {
|
|
4
|
+
id: Id
|
|
5
|
+
cliente: Texto
|
|
6
|
+
total: Decimal
|
|
7
|
+
status: Texto
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
task criar_pedido {
|
|
12
|
+
input {
|
|
13
|
+
cliente: Texto required
|
|
14
|
+
total: Decimal required
|
|
15
|
+
}
|
|
16
|
+
output {
|
|
17
|
+
pedido: Pedido
|
|
18
|
+
}
|
|
19
|
+
rules {
|
|
20
|
+
cliente deve_ser preenchido
|
|
21
|
+
total deve_ser positivo
|
|
22
|
+
}
|
|
23
|
+
effects {
|
|
24
|
+
persistencia Pedido
|
|
25
|
+
auditoria pedido_criado
|
|
26
|
+
}
|
|
27
|
+
guarantees {
|
|
28
|
+
pedido existe
|
|
29
|
+
}
|
|
30
|
+
tests {
|
|
31
|
+
caso "cria pedido" {
|
|
32
|
+
given {
|
|
33
|
+
cliente: "Ana"
|
|
34
|
+
total: 149.9
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
expect {
|
|
38
|
+
sucesso: verdadeiro
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
task obter_pedido {
|
|
45
|
+
input {
|
|
46
|
+
id: Id required
|
|
47
|
+
}
|
|
48
|
+
output {
|
|
49
|
+
pedido: Pedido
|
|
50
|
+
}
|
|
51
|
+
rules {
|
|
52
|
+
id deve_ser valido
|
|
53
|
+
}
|
|
54
|
+
effects {
|
|
55
|
+
consulta Pedido
|
|
56
|
+
}
|
|
57
|
+
guarantees {
|
|
58
|
+
pedido existe
|
|
59
|
+
}
|
|
60
|
+
tests {
|
|
61
|
+
caso "obtem pedido por id" {
|
|
62
|
+
given {
|
|
63
|
+
id: "ped_1"
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
expect {
|
|
67
|
+
sucesso: verdadeiro
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
task atualizar_pedido {
|
|
74
|
+
input {
|
|
75
|
+
id: Id required
|
|
76
|
+
status: Texto required
|
|
77
|
+
}
|
|
78
|
+
output {
|
|
79
|
+
pedido: Pedido
|
|
80
|
+
}
|
|
81
|
+
rules {
|
|
82
|
+
id deve_ser valido
|
|
83
|
+
status deve_ser preenchido
|
|
84
|
+
}
|
|
85
|
+
effects {
|
|
86
|
+
persistencia Pedido
|
|
87
|
+
auditoria pedido_atualizado
|
|
88
|
+
}
|
|
89
|
+
guarantees {
|
|
90
|
+
pedido existe
|
|
91
|
+
}
|
|
92
|
+
tests {
|
|
93
|
+
caso "atualiza status do pedido" {
|
|
94
|
+
given {
|
|
95
|
+
id: "ped_1"
|
|
96
|
+
status: "pago"
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
expect {
|
|
100
|
+
sucesso: verdadeiro
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
route pedidos_criar {
|
|
107
|
+
metodo: POST
|
|
108
|
+
caminho: /pedidos
|
|
109
|
+
task: criar_pedido
|
|
110
|
+
finalidade: cadastro_pedido
|
|
111
|
+
input {
|
|
112
|
+
cliente: Texto
|
|
113
|
+
total: Decimal
|
|
114
|
+
}
|
|
115
|
+
output {
|
|
116
|
+
pedido: Pedido
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
route pedidos_obter {
|
|
121
|
+
metodo: GET
|
|
122
|
+
caminho: "/pedidos/{id}"
|
|
123
|
+
task: obter_pedido
|
|
124
|
+
finalidade: consulta_pedido
|
|
125
|
+
input {
|
|
126
|
+
id: Id
|
|
127
|
+
}
|
|
128
|
+
output {
|
|
129
|
+
pedido: Pedido
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
route pedidos_atualizar {
|
|
134
|
+
metodo: PATCH
|
|
135
|
+
caminho: "/pedidos/{id}"
|
|
136
|
+
task: atualizar_pedido
|
|
137
|
+
finalidade: alteracao_pedido
|
|
138
|
+
input {
|
|
139
|
+
id: Id
|
|
140
|
+
status: Texto
|
|
141
|
+
}
|
|
142
|
+
output {
|
|
143
|
+
pedido: Pedido
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|