UNPKG

tprompter

Version:
55 lines (52 loc) 2.98 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { Service } from 'typedi'; import { StdinDataReader } from '../utils/StdinDataReader.js'; import { TextDataEnricher } from '../textDataEnricher/TextDataEnricher.js'; let CommitMessagePrompt = class CommitMessagePrompt { constructor(stdinReader, enricher) { this.stdinReader = stdinReader; this.enricher = enricher; this.name = 'commit_message'; } generate() { return __awaiter(this, void 0, void 0, function* () { const inputCodeRaw = yield this.stdinReader.readData('Enter the source code files'); const inputCode = yield this.enricher.enrichRawInput(inputCodeRaw.trim()); return ` You are an AI assistant specialized in writing concise and clear git commit messages. I will provide you with a \`git diff\` (the changes made in a codebase). Your task is to: 1. Analyze the diff to understand what has been changed or added. 2. Summarize those changes in a short, human-readable commit message. 3. Focus on *why* these changes were made and *what* they do. 4. Keep the message under 72 characters if possible (so it fits into common git commit formatting conventions). 5. Do not include boilerplate text like "Commit message:"—just provide the commit text. 6. Wrap all variables in \` backticks. **Here is the diff:** ${inputCode} `.trim(); }); } }; CommitMessagePrompt = __decorate([ Service(), __metadata("design:paramtypes", [StdinDataReader, TextDataEnricher]) ], CommitMessagePrompt); export { CommitMessagePrompt };