@jjdenhertog/ai-driven-development
Version:
AI-driven development workflow with learning capabilities for Claude
40 lines • 1.91 kB
JavaScript
;
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());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createCommit = createCommit;
const getGitInstance_1 = require("./getGitInstance");
function createCommit(message_1) {
return __awaiter(this, arguments, void 0, function* (message, options = {}) {
try {
const { prefix = 'chore', all, body, cwd } = options;
// Get appropriate git instance
const git = (0, getGitInstance_1.getGitInstance)(cwd);
// Stage changes if requested
if (all)
yield git.add('-A');
// Build commit message
let fullMessage = prefix ? `${prefix}: ${message}` : message;
if (body)
fullMessage += `\n\n${body}`;
yield git.raw(['commit', '-m', fullMessage, '--no-verify']);
// Get the commit hash
const commitHash = yield git.revparse(['HEAD']);
return { success: true, commitHash };
}
catch (error) {
return {
success: false,
error: error instanceof Error ? error.message : 'Failed to create commit'
};
}
});
}
//# sourceMappingURL=createCommit.js.map