@quanvo99/ai-rules 0.1.4 → 0.1.5
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/dist/cli/commands/generate-questions.d.ts +7 -0
- package/dist/cli/commands/generate-questions.d.ts.map +1 -0
- package/dist/cli/commands/generate-questions.js +120 -0
- package/dist/cli/commands/generate-questions.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +45 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/lib/files.d.ts +8 -0
- package/dist/cli/lib/files.d.ts.map +1 -1
- package/dist/cli/lib/files.js +19 -0
- package/dist/cli/lib/files.js.map +1 -1
- package/dist/cli/lib/github.d.ts +9 -0
- package/dist/cli/lib/github.d.ts.map +1 -1
- package/dist/cli/lib/github.js +20 -0
- package/dist/cli/lib/github.js.map +1 -1
- package/dist/cli/lib/ollama-client.d.ts +66 -0
- package/dist/cli/lib/ollama-client.d.ts.map +1 -0
- package/dist/cli/lib/ollama-client.js +198 -0
- package/dist/cli/lib/ollama-client.js.map +1 -0
- package/dist/cli/lib/question-prompt.d.ts +37 -0
- package/dist/cli/lib/question-prompt.d.ts.map +1 -0
- package/dist/cli/lib/question-prompt.js +204 -0
- package/dist/cli/lib/question-prompt.js.map +1 -0
- package/dist/cli/lib/question-schema.d.ts +84 -0
- package/dist/cli/lib/question-schema.d.ts.map +1 -0
- package/dist/cli/lib/question-schema.js +135 -0
- package/dist/cli/lib/question-schema.js.map +1 -0
- package/dist/cli/lib/question-types.d.ts +72 -0
- package/dist/cli/lib/question-types.d.ts.map +1 -0
- package/dist/cli/lib/question-types.js +28 -0
- package/dist/cli/lib/question-types.js.map +1 -0
- package/dist/cli/lib/types.d.ts +2 -1
- package/dist/cli/lib/types.d.ts.map +1 -1
- package/dist/cli/lib/types.js +1 -0
- package/dist/cli/lib/types.js.map +1 -1
- package/dist/lib/question-types.d.ts +69 -0
- package/dist/lib/question-types.d.ts.map +1 -0
- package/dist/lib/question-types.js +3 -0
- package/dist/lib/question-types.js.map +1 -0
- package/dist/server/types.d.ts +47 -1
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +2 -1
- package/dist/server/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base question interface with common fields
|
|
3
|
+
*/
|
|
4
|
+
export interface BaseQuestion {
|
|
5
|
+
/** Unique identifier in kebab-case */
|
|
6
|
+
id: string;
|
|
7
|
+
/** The question text */
|
|
8
|
+
text: string;
|
|
9
|
+
/** Array of tags for fuzzy search matching */
|
|
10
|
+
tags: string[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Yes/No question type
|
|
14
|
+
* Must include keywords array that gets added to context if user answers yes
|
|
15
|
+
*/
|
|
16
|
+
export interface YesNoQuestion extends BaseQuestion {
|
|
17
|
+
type: "yes-no";
|
|
18
|
+
/** Keywords added to search context if user answers yes */
|
|
19
|
+
keywords: string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Choice question type with multiple options
|
|
23
|
+
* Selected option's keywords are added to context
|
|
24
|
+
*/
|
|
25
|
+
export interface ChoiceQuestion extends BaseQuestion {
|
|
26
|
+
type: "choice";
|
|
27
|
+
/** Array of choice options with text and keywords */
|
|
28
|
+
options: Array<{
|
|
29
|
+
text: string;
|
|
30
|
+
keywords: string[];
|
|
31
|
+
}>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Open-ended question type
|
|
35
|
+
* Full user answer text is added to context
|
|
36
|
+
*/
|
|
37
|
+
export interface OpenEndedQuestion extends BaseQuestion {
|
|
38
|
+
type: "open-ended";
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Union type for all question types
|
|
42
|
+
*/
|
|
43
|
+
export type Question = YesNoQuestion | ChoiceQuestion | OpenEndedQuestion;
|
|
44
|
+
/**
|
|
45
|
+
* Question file structure as stored in JSON files
|
|
46
|
+
* Contains array of questions for a specific rule or category
|
|
47
|
+
*/
|
|
48
|
+
export interface QuestionFile {
|
|
49
|
+
questions: Question[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Response type for question generation (used by CLI)
|
|
53
|
+
* Wrapper around QuestionFile for API responses
|
|
54
|
+
*/
|
|
55
|
+
export type QuestionResponse = QuestionFile;
|
|
56
|
+
/**
|
|
57
|
+
* Question answer types for context state management
|
|
58
|
+
*/
|
|
59
|
+
export type QuestionAnswer = {
|
|
60
|
+
type: "yes-no";
|
|
61
|
+
value: boolean;
|
|
62
|
+
} | {
|
|
63
|
+
type: "choice";
|
|
64
|
+
value: number;
|
|
65
|
+
} | {
|
|
66
|
+
type: "open-ended";
|
|
67
|
+
value: string;
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=question-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question-types.d.ts","sourceRoot":"","sources":["../../../src/lib/question-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,MAAM,EAAE,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,YAAY;IAClD,IAAI,EAAE,QAAQ,CAAC;IACf,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,YAAY;IACnD,IAAI,EAAE,QAAQ,CAAC;IACf,qDAAqD;IACrD,OAAO,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACtD,IAAI,EAAE,YAAY,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,SAAS,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,cAAc,GACvB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question-types.js","sourceRoot":"","sources":["../../../src/lib/question-types.ts"],"names":[],"mappings":""}
|
package/dist/server/types.d.ts
CHANGED
|
@@ -59,12 +59,21 @@ export interface RuleCategory {
|
|
|
59
59
|
files: RuleFile[];
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
|
-
* Represents
|
|
62
|
+
* Represents a single skill file
|
|
63
|
+
*/
|
|
64
|
+
export interface SkillFile {
|
|
65
|
+
name: string;
|
|
66
|
+
content: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Represents an agent with all its categories and optional skills
|
|
63
70
|
*/
|
|
64
71
|
export interface RuleAgent {
|
|
65
72
|
categories: {
|
|
66
73
|
[categoryName: string]: RuleCategory;
|
|
67
74
|
};
|
|
75
|
+
/** Optional skills (currently only for Claude Code) */
|
|
76
|
+
skills?: SkillFile[];
|
|
68
77
|
}
|
|
69
78
|
/**
|
|
70
79
|
* Complete rules data structure returned by the API
|
|
@@ -89,4 +98,41 @@ export interface GitHubError {
|
|
|
89
98
|
documentation_url?: string;
|
|
90
99
|
}
|
|
91
100
|
export declare const RULES_DATA_COLLECTION_NAME = "rules_data";
|
|
101
|
+
/**
|
|
102
|
+
* Question document type for individual MongoDB documents
|
|
103
|
+
* Each question is stored as a separate document
|
|
104
|
+
*/
|
|
105
|
+
export interface QuestionDocument {
|
|
106
|
+
/** Unique identifier in kebab-case */
|
|
107
|
+
id: string;
|
|
108
|
+
/** The question text */
|
|
109
|
+
text: string;
|
|
110
|
+
/** Question type */
|
|
111
|
+
type: "yes-no" | "choice" | "open-ended";
|
|
112
|
+
/** Array of tags for fuzzy search matching */
|
|
113
|
+
tags: string[];
|
|
114
|
+
/** Keywords for yes-no questions (optional) */
|
|
115
|
+
keywords?: string[];
|
|
116
|
+
/** Options for choice questions (optional) */
|
|
117
|
+
options?: Array<{
|
|
118
|
+
text: string;
|
|
119
|
+
keywords: string[];
|
|
120
|
+
}>;
|
|
121
|
+
/** Source file where question was originally defined */
|
|
122
|
+
sourceFile: string;
|
|
123
|
+
/** When this question was cached from GitHub */
|
|
124
|
+
lastFetched: Date;
|
|
125
|
+
/** When this document was created */
|
|
126
|
+
createdAt: Date;
|
|
127
|
+
/** When this document was last updated */
|
|
128
|
+
updatedAt: Date;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Questions response type for server component data
|
|
132
|
+
* Contains all questions fetched from database
|
|
133
|
+
*/
|
|
134
|
+
export interface QuestionsResponse {
|
|
135
|
+
questions: QuestionDocument[];
|
|
136
|
+
}
|
|
137
|
+
export declare const QUESTIONS_COLLECTION_NAME = "questions";
|
|
92
138
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,UAAU,EAAE;QACX,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAAC;KACrC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":"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"}
|
package/dist/server/types.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RULES_DATA_COLLECTION_NAME = void 0;
|
|
3
|
+
exports.QUESTIONS_COLLECTION_NAME = exports.RULES_DATA_COLLECTION_NAME = void 0;
|
|
4
4
|
exports.RULES_DATA_COLLECTION_NAME = "rules_data";
|
|
5
|
+
exports.QUESTIONS_COLLECTION_NAME = "questions";
|
|
5
6
|
//# sourceMappingURL=types.js.map
|
package/dist/server/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":";;;AA8Ga,QAAA,0BAA0B,GAAG,YAAY,CAAC;AAwC1C,QAAA,yBAAyB,GAAG,WAAW,CAAC"}
|