Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
164a58ec59 | |||
e1c0f82fe8 | |||
8a0046818b | |||
97fa9db32f | |||
d61de9b615 | |||
fba54035ea | |||
9a3d8588a8 | |||
eb8f8fa70a | |||
afe7b5e99e | |||
e074562362 |
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@git.zone/tsdoc",
|
||||
"version": "1.1.35",
|
||||
"version": "1.1.40",
|
||||
"private": false,
|
||||
"description": "An advanced TypeScript documentation tool using AI to generate and enhance documentation for TypeScript projects.",
|
||||
"type": "module",
|
||||
|
@ -29,9 +29,10 @@ tap.test('should build commit object', async () => {
|
||||
const commitObject = await aidocs.buildNextCommitObject('./');
|
||||
console.log(commitObject);
|
||||
expect(commitObject).not.toBeUndefined();
|
||||
expect(commitObject).toHaveProperty('message');
|
||||
expect(commitObject).toHaveProperty('recommendedNextVersion');
|
||||
expect(commitObject).toHaveProperty('recommendedNextVersionLevel');
|
||||
expect(commitObject).toHaveProperty('recommendedNextVersionScope');
|
||||
expect(commitObject).toHaveProperty('recommendedNextVersionMessage');
|
||||
|
||||
})
|
||||
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@git.zone/tsdoc',
|
||||
version: '1.1.35',
|
||||
version: '1.1.40',
|
||||
description: 'An advanced TypeScript documentation tool using AI to generate and enhance documentation for TypeScript projects.'
|
||||
}
|
||||
|
@ -3,10 +3,11 @@ import { AiDoc } from '../classes.aidoc.js';
|
||||
import { ProjectContext } from './projectcontext.js';
|
||||
|
||||
export interface INextCommitObject {
|
||||
recommendedNextVersionLevel: 'patch' | 'minor' | 'major'; // the recommended next version level of the project
|
||||
recommendedNextVersion: string; // the recommended next version of the project
|
||||
message: string; // the commit message. use conventional commits format
|
||||
changelog?: string; // the changelog
|
||||
recommendedNextVersionLevel: 'fix' | 'feat' | 'BREAKING CHANGE'; // the recommended next version level of the project
|
||||
recommendedNextVersionScope: string; // the recommended scope name of the next version, like "core" or "cli", or specific class names.
|
||||
recommendedNextVersionMessage: string; // the commit message. Don't put fix() feat() or BREAKING CHANGE in the message. Please just the message itself.
|
||||
recommendedNextVersion: string; // the recommended next version of the project, x.x.x
|
||||
changelog?: string; // the changelog for the next version
|
||||
}
|
||||
|
||||
export class Commit {
|
||||
@ -45,9 +46,10 @@ Your answer should be parseable with JSON.parse() without modifying anything.
|
||||
|
||||
Here is the structure of the JSON you should return:
|
||||
{
|
||||
recommendedNextVersionLevel: 'patch' | 'minor' | 'major'; // the recommended next version level of the project
|
||||
recommendedNextVersion: string; // the recommended next version of the project
|
||||
message: string; // the commit message. use conventional commits format
|
||||
recommendedNextVersionLevel: 'fix' | 'feat' | 'BREAKING CHANGE'; // the recommended next version level of the project
|
||||
recommendedNextVersionScope: string; // the recommended scope name of the next version, like "core" or "cli", or specific class names.
|
||||
recommendedNextVersionMessage: string; // the commit message. Don't put fix() feat() or BREAKING CHANGE in the message. Please just the message itself.
|
||||
recommendedNextVersion: string; // the recommended next version of the project, x.x.x
|
||||
}
|
||||
|
||||
You are being given the files of the project. You should use them to create the commit message.
|
||||
@ -80,7 +82,7 @@ You are given
|
||||
|
||||
Only return the changelog file, so it can be written directly to changelog.md
|
||||
|
||||
For the latest version, that is not yet part of the commit messages, use {{nextVersion}} and {{nextDescription}} placeholders.
|
||||
For the latest version, that is not yet part of the commit messages, use {{nextVersion}} and {{nextVersionMessage}} placeholders.
|
||||
`,
|
||||
userMessage: `
|
||||
The previous changelog file is:
|
||||
|
@ -7,7 +7,7 @@ export class AiDoc {
|
||||
|
||||
public npmextraKV: plugins.npmextra.KeyValueStore;
|
||||
public qenvInstance: plugins.qenv.Qenv;
|
||||
public smartinteractInstance: plugins.smartinteract.SmartInteract;
|
||||
public aidocInteract: plugins.smartinteract.SmartInteract;
|
||||
public openaiInstance: plugins.smartai.OpenAiProvider;
|
||||
|
||||
argvArg: any;
|
||||
@ -33,7 +33,7 @@ export class AiDoc {
|
||||
|
||||
public async start() {
|
||||
// lets care about prerequisites
|
||||
this.smartinteractInstance = new plugins.smartinteract.SmartInteract();
|
||||
this.aidocInteract = new plugins.smartinteract.SmartInteract();
|
||||
this.qenvInstance = new plugins.qenv.Qenv();
|
||||
if (!(await this.qenvInstance.getEnvVarOnDemand('OPENAI_TOKEN'))) {
|
||||
this.npmextraKV = new plugins.npmextra.KeyValueStore({
|
||||
@ -51,9 +51,9 @@ export class AiDoc {
|
||||
// lets try smartinteract
|
||||
// wait for a second until OpenAI fixes punycode problem...
|
||||
await plugins.smartdelay.delayFor(1000);
|
||||
const answerObject = await this.smartinteractInstance.askQuestion({
|
||||
const answerObject = await this.aidocInteract.askQuestion({
|
||||
type: 'input',
|
||||
message: `Please provide your OpenAI token`,
|
||||
message: `Please provide your OpenAI token. This will be persisted in your home directory.`,
|
||||
name: 'OPENAI_TOKEN',
|
||||
default: '',
|
||||
});
|
||||
|
Reference in New Issue
Block a user