@gilbert_oliveira/commit-wizard 1.0.0 → 1.0.2
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/README.md +15 -7
- package/dist/index.d.ts +1 -0
- package/dist/index.js +173 -0
- package/dist/index.js.map +1 -0
- package/package.json +20 -3
- package/tsconfig.json +19 -23
- /package/{index.ts → src/index.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
# Commit Wizard
|
|
2
2
|
|
|
3
|
-
O **Commit Wizard** é uma ferramenta automatizada para geração de mensagens de commit com base na convenção de **Conventional Commits**. Ele ajuda a garantir que suas mensagens de commit sigam um padrão consistente e facilite a comunicação de mudanças no código.
|
|
3
|
+
O **Commit Wizard** é uma ferramenta automatizada para a geração de mensagens de commit com base na convenção de **Conventional Commits**. Ele ajuda a garantir que suas mensagens de commit sigam um padrão consistente e facilite a comunicação de mudanças no código.
|
|
4
4
|
|
|
5
5
|
## Funcionalidades
|
|
6
6
|
|
|
7
|
-
- Geração automática de mensagens de commit
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
7
|
+
- Geração automática de mensagens de commit usando o **Cody**.
|
|
8
|
+
- Garantia de que a mensagem de commit siga o padrão **Conventional Commits**.
|
|
9
|
+
- Oferece a opção de editar ou confirmar a mensagem gerada.
|
|
10
|
+
- Verificação se o repositório Git está inicializado e se o usuário está autenticado no **Cody**.
|
|
11
|
+
- Integração com a ferramenta **Cody** para sugestão de mensagens de commit baseadas no diff de código.
|
|
11
12
|
|
|
12
13
|
## Instalação
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
### Requisitos
|
|
16
|
+
|
|
17
|
+
- **Node.js**: A ferramenta requer o **Node.js** para ser executada.
|
|
18
|
+
- **Cody**: A ferramenta usa o **Cody** da Sourcegraph para gerar as mensagens de commit.
|
|
19
|
+
|
|
20
|
+
### Instalação Global
|
|
21
|
+
|
|
22
|
+
Para instalar o Commit Wizard globalmente, execute o seguinte comando:
|
|
15
23
|
|
|
16
24
|
```bash
|
|
17
|
-
npm install -g commit-wizard
|
|
25
|
+
npm install -g @gilbert_oliveira/commit-wizard
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { execSync } from 'child_process';
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import inquirer from 'inquirer';
|
|
5
|
+
import os from 'os';
|
|
6
|
+
import path from 'path';
|
|
7
|
+
// Função para verificar se o comando 'cody' está disponível
|
|
8
|
+
function isCodyInstalled() {
|
|
9
|
+
try {
|
|
10
|
+
execSync('cody --version', { stdio: 'ignore' }); // Tentando rodar o comando `cody --version`
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// Função para instalar o 'cody' automaticamente
|
|
18
|
+
function installCody() {
|
|
19
|
+
console.log(chalk.blue('🚀 Instalando o cody automaticamente...'));
|
|
20
|
+
try {
|
|
21
|
+
execSync('npm i -g @sourcegraph/cody', { stdio: 'inherit' }); // Instalando globalmente com npm
|
|
22
|
+
console.log(chalk.green('✅ Cody instalado com sucesso!'));
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
console.error(chalk.red('❌ Erro ao instalar o Cody:'), error.message);
|
|
26
|
+
process.exit(1); // Finaliza o processo em caso de erro
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// Verifica se o 'cody' está instalado, caso contrário, instala
|
|
30
|
+
if (!isCodyInstalled()) {
|
|
31
|
+
installCody();
|
|
32
|
+
}
|
|
33
|
+
// Função para verificar se esta logado no cody
|
|
34
|
+
function isCodyLoggedIn() {
|
|
35
|
+
try {
|
|
36
|
+
execSync('cody auth whoami', { stdio: 'ignore' }); // Tentando rodar o comando `cody auth whoami`
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// Verificar se o usuário está logado no Cody se nao estiver roda o comando para logar
|
|
44
|
+
if (!isCodyLoggedIn()) {
|
|
45
|
+
console.log(chalk.blue('🔑 Realize o login no Cody...'));
|
|
46
|
+
try {
|
|
47
|
+
execSync('cody auth login --web', { stdio: 'inherit' }); // Rodando o comando `cody auth login`
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.error(chalk.red('❌ Erro ao realizar o login no Cody:'), error.message);
|
|
51
|
+
process.exit(1); // Finaliza o processo em caso de erro
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Define o prompt do Cody para geração da mensagem de commit
|
|
55
|
+
const CODY_PROMPT = `
|
|
56
|
+
Por favor, escreva a mensagem de commit para este diff usando a convenção de Conventional Commits: https://www.conventionalcommits.org/en/v1.0.0/.
|
|
57
|
+
A mensagem deve começar com um tipo de commit, como:
|
|
58
|
+
feat: para novas funcionalidades
|
|
59
|
+
fix: para correções de bugs
|
|
60
|
+
chore: para alterações que não afetam a funcionalidade
|
|
61
|
+
docs: para mudanças na documentação
|
|
62
|
+
style: para alterações no estilo do código (como formatação)
|
|
63
|
+
refactor: para alterações no código que não alteram a funcionalidade
|
|
64
|
+
perf: para melhorias de desempenho
|
|
65
|
+
test: para alterações nos testes
|
|
66
|
+
ci: para mudanças no pipeline de integração contínua
|
|
67
|
+
|
|
68
|
+
Exemplo:
|
|
69
|
+
feat(auth): adicionar suporte ao login com Google
|
|
70
|
+
|
|
71
|
+
Caso o commit seja uma alteração significativa (breaking change), inclua um título com \`!\` após o tipo de commit e adicione a explicação em \`BREAKING CHANGE\`:
|
|
72
|
+
feat!(auth): reestruturar fluxo de login
|
|
73
|
+
BREAKING CHANGE: A API de login foi alterada e não é compatível com versões anteriores.
|
|
74
|
+
|
|
75
|
+
Gere também uma descrição mais detalhada do commit, se necessário.
|
|
76
|
+
|
|
77
|
+
Use sempre linguagem imperativa e primeira pessoa do singular, como:
|
|
78
|
+
- "adiciona recurso"
|
|
79
|
+
- "corrige bug"
|
|
80
|
+
- "remove arquivo"
|
|
81
|
+
|
|
82
|
+
Lembre-se: os textos fora do Conventional Commit devem ser em português.
|
|
83
|
+
`;
|
|
84
|
+
async function ccm() {
|
|
85
|
+
const prompt = inquirer.createPromptModule();
|
|
86
|
+
// verifica se o repositório git está inicializado
|
|
87
|
+
try {
|
|
88
|
+
console.log(chalk.blue('🔄 Verificando se o diretório é um repositório git...'));
|
|
89
|
+
execSync('git rev-parse --is-inside-work-tree', { stdio: 'ignore' });
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
console.error(chalk.red('❌ Este diretório não é um repositório git.'));
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
// Adiciona todos os arquivos modificados ao índice
|
|
96
|
+
execSync('git add .');
|
|
97
|
+
// Cria um arquivo temporário para armazenar o prompt
|
|
98
|
+
const tempPromptPath = path.join(os.tmpdir(), 'CODY_PROMPT.txt');
|
|
99
|
+
fs.writeFileSync(tempPromptPath, CODY_PROMPT);
|
|
100
|
+
// Gera a mensagem do commit usando o diff com o cody chat
|
|
101
|
+
let generatedMessage;
|
|
102
|
+
try {
|
|
103
|
+
console.log(chalk.blue.bold('⌛ Gerando mensagem de commit com o Cody...'));
|
|
104
|
+
const response = execSync(`git diff --cached | cody chat --stdin -m "$(cat ${tempPromptPath})"`).toString();
|
|
105
|
+
// Extrai o bloco de código delimitado por ``` usando regex
|
|
106
|
+
const match = response.match(/```([\s\S]*?)```/);
|
|
107
|
+
generatedMessage = match ? match[1].trim() : response.trim();
|
|
108
|
+
console.log(chalk.greenBright('\n✨ Mensagem de commit gerada automaticamente:'));
|
|
109
|
+
console.log(chalk.yellowBright(generatedMessage));
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
console.error(chalk.red('❌ Erro ao gerar mensagem de commit com o Cody:'), error.message);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
finally {
|
|
116
|
+
fs.unlinkSync(tempPromptPath); // Remove o arquivo temporário após o uso
|
|
117
|
+
}
|
|
118
|
+
// Pergunta ao usuário se ele quer editar, confirmar ou cancelar o commit
|
|
119
|
+
const { action } = await prompt([
|
|
120
|
+
{
|
|
121
|
+
type: 'list',
|
|
122
|
+
name: 'action',
|
|
123
|
+
message: chalk.blue.bold('O que deseja fazer com a mensagem de commit gerada?'),
|
|
124
|
+
choices: [
|
|
125
|
+
{ name: '📌 Confirmar e commitar', value: 'confirm' },
|
|
126
|
+
{ name: '📝 Editar a mensagem antes de commitar', value: 'edit' },
|
|
127
|
+
{ name: '🚫 Cancelar o commit', value: 'cancel' },
|
|
128
|
+
],
|
|
129
|
+
},
|
|
130
|
+
]);
|
|
131
|
+
// Caminho temporário para salvar a mensagem gerada
|
|
132
|
+
const tempFilePath = path.join(os.tmpdir(), 'COMMIT_EDITMSG');
|
|
133
|
+
// Salva a mensagem gerada no arquivo temporário
|
|
134
|
+
fs.writeFileSync(tempFilePath, generatedMessage);
|
|
135
|
+
if (action === 'edit') {
|
|
136
|
+
console.log(chalk.cyan('📝 Abrindo editor para edição da mensagem...'));
|
|
137
|
+
const editor = process.env.EDITOR || 'nano';
|
|
138
|
+
try {
|
|
139
|
+
execSync(`${editor} ${tempFilePath}`, { stdio: 'inherit' });
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
console.error(chalk.red('❌ Erro ao abrir o editor:'), error.message);
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
else if (action === 'cancel') {
|
|
147
|
+
console.log(chalk.yellow('🚫 Commit cancelado pelo usuário.'));
|
|
148
|
+
fs.unlinkSync(tempFilePath); // Remove o arquivo temporário
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
// Lê a mensagem do arquivo temporário após a edição
|
|
152
|
+
const finalMessage = fs.readFileSync(tempFilePath, 'utf8').trim();
|
|
153
|
+
// Verifica se a mensagem está vazia
|
|
154
|
+
if (!finalMessage) {
|
|
155
|
+
console.log(chalk.red('❌ Nenhuma mensagem inserida, commit cancelado.'));
|
|
156
|
+
fs.unlinkSync(tempFilePath); // Remove o arquivo temporário
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
// Realiza o commit com a mensagem final
|
|
160
|
+
try {
|
|
161
|
+
execSync(`git commit -F ${tempFilePath}`);
|
|
162
|
+
console.log(chalk.green.bold('✅ Commit realizado com sucesso.'));
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
console.error(chalk.red('❌ Erro ao realizar o commit:'), error.message);
|
|
166
|
+
}
|
|
167
|
+
finally {
|
|
168
|
+
fs.unlinkSync(tempFilePath); // Remove o arquivo temporário
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
// Chama a função principal
|
|
172
|
+
ccm().catch((err) => console.error(chalk.red('❌ Erro durante o commit:'), err));
|
|
173
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gilbert_oliveira/commit-wizard",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "O **Commit Wizard** é uma ferramenta automatizada para geração de mensagens de commit com base na convenção de **Conventional Commits**. Ele ajuda a garantir que suas mensagens de commit sigam um padrão consistente e facilite a comunicação de mudanças no código.",
|
|
5
|
-
"main": "index.
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"commit-wizard": "./dist/index.js"
|
|
9
|
+
},
|
|
6
10
|
"scripts": {
|
|
7
|
-
"
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"start": "node dist/index.js",
|
|
13
|
+
"dev": "tsc --watch"
|
|
8
14
|
},
|
|
9
15
|
"repository": {
|
|
10
16
|
"type": "git",
|
|
@@ -29,5 +35,16 @@
|
|
|
29
35
|
"homepage": "https://github.com/gilbert-oliveira/commit-wizard#readme",
|
|
30
36
|
"publishConfig": {
|
|
31
37
|
"access": "public"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"typescript": "^5.6.3"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"chalk": "^5.3.0",
|
|
44
|
+
"child_process": "^1.0.2",
|
|
45
|
+
"fs": "^0.0.1-security",
|
|
46
|
+
"inquirer": "^12.0.1",
|
|
47
|
+
"os": "^0.1.2",
|
|
48
|
+
"path": "^0.12.7"
|
|
32
49
|
}
|
|
33
50
|
}
|
package/tsconfig.json
CHANGED
|
@@ -1,30 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
// Enable latest features
|
|
4
|
-
"lib": ["ESNext", "DOM"],
|
|
5
3
|
"target": "ESNext",
|
|
6
4
|
"module": "ESNext",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
// Bundler mode
|
|
12
|
-
"moduleResolution": "bundler",
|
|
13
|
-
"allowImportingTsExtensions": true,
|
|
14
|
-
"verbatimModuleSyntax": true,
|
|
15
|
-
"noEmit": true,
|
|
16
|
-
|
|
17
|
-
// Best practices
|
|
18
|
-
"strict": true,
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"esModuleInterop": true,
|
|
7
|
+
"resolveJsonModule": true,
|
|
19
8
|
"skipLibCheck": true,
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"noUnusedLocals":
|
|
24
|
-
"noUnusedParameters":
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
"outDir": "./dist"
|
|
9
|
+
"strict": true,
|
|
10
|
+
"forceConsistentCasingInFileNames": true,
|
|
11
|
+
"noImplicitAny": true,
|
|
12
|
+
"noUnusedLocals": true,
|
|
13
|
+
"noUnusedParameters": true,
|
|
14
|
+
"skipDefaultLibCheck": true,
|
|
15
|
+
"declaration": true,
|
|
16
|
+
"outDir": "./dist",
|
|
17
|
+
"sourceMap": true
|
|
28
18
|
},
|
|
29
|
-
"include": [
|
|
19
|
+
"include": [
|
|
20
|
+
"src/**/*.ts"
|
|
21
|
+
],
|
|
22
|
+
"exclude": [
|
|
23
|
+
"node_modules",
|
|
24
|
+
"dist"
|
|
25
|
+
]
|
|
30
26
|
}
|
|
File without changes
|