Compare commits

..

1 Commits

Author SHA1 Message Date
di-sukharev
c71a9e6604 chore(prompts.ts): update INIT_MAIN_PROMPT content to provide clearer instructions and improve readability
The content of the INIT_MAIN_PROMPT has been updated to provide clearer instructions on how to create clean and comprehensive commit messages in the conventional commit convention. The changes include clarifying the purpose of the mission, specifying the use of 'git diff --staged' command, and providing guidelines on prefaces, descriptions, tense, and line length. The update also includes using the language variable for the commit message. This improves the readability and usability of the prompt for users.
2023-09-03 15:38:37 +08:00
6 changed files with 16 additions and 21 deletions

View File

@@ -29,8 +29,6 @@ You can use OpenCommit by simply running it via the CLI like this `oco`. 2 secon
npm install -g opencommit
```
MacOS may ask to run the command with `sudo` when installing a package globally.
2. Get your API key from [OpenAI](https://platform.openai.com/account/api-keys). Make sure that you add your payment details, so the API works.
3. Set the key to OpenCommit config:
@@ -332,6 +330,4 @@ You pay for your requests to OpenAI API on your own.
OpenCommit stores your key locally.
OpenCommit by default uses 3.5-turbo-16k model, it should not exceed $0.10 per casual working day.
You may switch to gpt-4, it's better, but more expensive.
OpenCommit by default uses ChatGPT (3.5-turbo-16k) official model, which is a lot cheaper than gpt-4.

View File

@@ -16384,7 +16384,7 @@ function G3(t, e2) {
// package.json
var package_default = {
name: "opencommit",
version: "3.0.4",
version: "2.4.2",
description: "Auto-generate impressive commits in 1 second. Killing lame commits with AI \u{1F92F}\u{1F52B}",
keywords: [
"git",
@@ -16410,8 +16410,7 @@ var package_default = {
author: "https://github.com/di-sukharev",
license: "MIT",
files: [
"out/cli.cjs",
"out/tiktoken_bg.wasm"
"out/**/*"
],
release: {
branches: [
@@ -16427,7 +16426,7 @@ var package_default = {
dev: "ts-node ./src/cli.ts",
build: "rimraf out && node esbuild.config.js",
"build:push": "npm run build && git add . && git commit -m 'build' && git push",
deploy: "npm version patch && npm run build:push && git push --tags && npm publish --tag latest",
deploy: "npm run build:push && npm version patch && git push --tags && git push && npm publish --tag latest",
lint: "eslint src --ext ts && tsc --noEmit",
format: "prettier --write src"
},
@@ -21478,7 +21477,7 @@ var validateConfig = (key, condition, validationMessage) => {
}
};
var configValidators = {
["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config8 = {}) {
["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config8) {
validateConfig("OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, value, "Cannot be empty");
validateConfig(
"OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */,
@@ -21907,7 +21906,7 @@ var commitlintPrompts = {
// src/modules/commitlint/pwd-commitlint.ts
var import_path2 = __toESM(require("path"), 1);
var nodeModulesPath = import_path2.default.join(
process.env.PWD || process.cwd(),
process.env.PWD,
"node_modules",
"@commitlint",
"load"
@@ -21998,10 +21997,10 @@ var translation3 = i18n[config5?.OCO_LANGUAGE || "en"];
var IDENTITY = "You are to act as the author of a commit message in git.";
var INIT_MAIN_PROMPT2 = (language) => ({
role: import_openai3.ChatCompletionRequestMessageRoleEnum.System,
content: `${IDENTITY} Your mission is to create clean and comprehensive commit messages as per the conventional commit convention and explain WHAT were the changes and mainly WHY the changes were done. I'll send you an output of 'git diff --staged' command, and you are to convert it into a commit message.
content: `${IDENTITY} Your mission is to create clean and comprehensive commit messages in the conventional commit convention and explain WHAT were the changes and WHY the changes were done. I'll send you an output of 'git diff --staged' command, and you convert it into a commit message.
${config5?.OCO_EMOJI ? "Use GitMoji convention to preface the commit." : "Do not preface the commit with anything."}
${config5?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."}
Use the present tense. Lines must not be longer than 74 characters. Use ${language} for the commit message.`
Use the present tense. Lines must not be longer than 74 characters. Use ${language} to answer.`
});
var INIT_DIFF_PROMPT = {
role: import_openai3.ChatCompletionRequestMessageRoleEnum.User,

View File

@@ -27900,7 +27900,7 @@ var validateConfig = (key, condition, validationMessage) => {
}
};
var configValidators = {
["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config7 = {}) {
["OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */](value, config7) {
validateConfig("OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */, value, "Cannot be empty");
validateConfig(
"OCO_OPENAI_API_KEY" /* OCO_OPENAI_API_KEY */,
@@ -28320,7 +28320,7 @@ var commitlintPrompts = {
// src/modules/commitlint/pwd-commitlint.ts
var import_path2 = __toESM(require("path"), 1);
var nodeModulesPath = import_path2.default.join(
process.env.PWD || process.cwd(),
process.env.PWD,
"node_modules",
"@commitlint",
"load"
@@ -28411,10 +28411,10 @@ var translation3 = i18n[config5?.OCO_LANGUAGE || "en"];
var IDENTITY = "You are to act as the author of a commit message in git.";
var INIT_MAIN_PROMPT2 = (language) => ({
role: import_openai3.ChatCompletionRequestMessageRoleEnum.System,
content: `${IDENTITY} Your mission is to create clean and comprehensive commit messages as per the conventional commit convention and explain WHAT were the changes and mainly WHY the changes were done. I'll send you an output of 'git diff --staged' command, and you are to convert it into a commit message.
content: `${IDENTITY} Your mission is to create clean and comprehensive commit messages in the conventional commit convention and explain WHAT were the changes and WHY the changes were done. I'll send you an output of 'git diff --staged' command, and you convert it into a commit message.
${config5?.OCO_EMOJI ? "Use GitMoji convention to preface the commit." : "Do not preface the commit with anything."}
${config5?.OCO_DESCRIPTION ? `Add a short description of WHY the changes are done after the commit message. Don't start it with "This commit", just describe the changes.` : "Don't add any descriptions to the commit, only commit message."}
Use the present tense. Lines must not be longer than 74 characters. Use ${language} for the commit message.`
Use the present tense. Lines must not be longer than 74 characters. Use ${language} to answer.`
});
var INIT_DIFF_PROMPT = {
role: import_openai3.ChatCompletionRequestMessageRoleEnum.User,

View File

@@ -1,6 +1,6 @@
{
"name": "opencommit",
"version": "3.0.4",
"version": "3.0.0",
"description": "Auto-generate impressive commits in 1 second. Killing lame commits with AI 🤯🔫",
"keywords": [
"git",
@@ -43,7 +43,7 @@
"dev": "ts-node ./src/cli.ts",
"build": "rimraf out && node esbuild.config.js",
"build:push": "npm run build && git add . && git commit -m 'build' && git push",
"deploy": "npm version patch && npm run build:push && git push --tags && npm publish --tag latest",
"deploy": "npm run build:push && npm version patch && git push --tags && npm publish --tag latest",
"lint": "eslint src --ext ts && tsc --noEmit",
"format": "prettier --write src"
},

View File

@@ -47,7 +47,7 @@ const validateConfig = (
};
export const configValidators = {
[CONFIG_KEYS.OCO_OPENAI_API_KEY](value: any, config: any = {}) {
[CONFIG_KEYS.OCO_OPENAI_API_KEY](value: any, config?: any) {
validateConfig(CONFIG_KEYS.OCO_OPENAI_API_KEY, value, 'Cannot be empty');
validateConfig(
CONFIG_KEYS.OCO_OPENAI_API_KEY,

View File

@@ -1,7 +1,7 @@
import path from 'path';
const nodeModulesPath = path.join(
process.env.PWD || process.cwd(),
process.env.PWD as string,
'node_modules',
'@commitlint',
'load'