@theglitchking/hit-em-with-the-docs 2.0.0
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/.claude-plugin/marketplace.json +46 -0
- package/.claude-plugin/plugin.json +114 -0
- package/LICENSE +21 -0
- package/MIGRATION.md +255 -0
- package/README.backup.md +714 -0
- package/README.md +869 -0
- package/action.yml +56 -0
- package/dist/action/action/index.d.ts +2 -0
- package/dist/action/action/index.d.ts.map +1 -0
- package/dist/action/cli/index.d.ts +3 -0
- package/dist/action/cli/index.d.ts.map +1 -0
- package/dist/action/core/audit/auditor.d.ts +43 -0
- package/dist/action/core/audit/auditor.d.ts.map +1 -0
- package/dist/action/core/audit/rules.d.ts +37 -0
- package/dist/action/core/audit/rules.d.ts.map +1 -0
- package/dist/action/core/discover/antipatterns.d.ts +24 -0
- package/dist/action/core/discover/antipatterns.d.ts.map +1 -0
- package/dist/action/core/discover/dependencies.d.ts +57 -0
- package/dist/action/core/discover/dependencies.d.ts.map +1 -0
- package/dist/action/core/discover/patterns.d.ts +38 -0
- package/dist/action/core/discover/patterns.d.ts.map +1 -0
- package/dist/action/core/discover/standards.d.ts +58 -0
- package/dist/action/core/discover/standards.d.ts.map +1 -0
- package/dist/action/core/domains/classifier.d.ts +41 -0
- package/dist/action/core/domains/classifier.d.ts.map +1 -0
- package/dist/action/core/domains/constants.d.ts +40 -0
- package/dist/action/core/domains/constants.d.ts.map +1 -0
- package/dist/action/core/domains/detector.d.ts +35 -0
- package/dist/action/core/domains/detector.d.ts.map +1 -0
- package/dist/action/core/integrate/integrator.d.ts +35 -0
- package/dist/action/core/integrate/integrator.d.ts.map +1 -0
- package/dist/action/core/links/checker.d.ts +64 -0
- package/dist/action/core/links/checker.d.ts.map +1 -0
- package/dist/action/core/links/tracker.d.ts +69 -0
- package/dist/action/core/links/tracker.d.ts.map +1 -0
- package/dist/action/core/maintain/orchestrator.d.ts +39 -0
- package/dist/action/core/maintain/orchestrator.d.ts.map +1 -0
- package/dist/action/core/metadata/generator.d.ts +26 -0
- package/dist/action/core/metadata/generator.d.ts.map +1 -0
- package/dist/action/core/metadata/schema.d.ts +201 -0
- package/dist/action/core/metadata/schema.d.ts.map +1 -0
- package/dist/action/core/metadata/sync.d.ts +36 -0
- package/dist/action/core/metadata/sync.d.ts.map +1 -0
- package/dist/action/generators/index-generator.d.ts +19 -0
- package/dist/action/generators/index-generator.d.ts.map +1 -0
- package/dist/action/generators/registry-generator.d.ts +11 -0
- package/dist/action/generators/registry-generator.d.ts.map +1 -0
- package/dist/action/generators/scaffold.d.ts +30 -0
- package/dist/action/generators/scaffold.d.ts.map +1 -0
- package/dist/action/generators/templates/document.d.ts +14 -0
- package/dist/action/generators/templates/document.d.ts.map +1 -0
- package/dist/action/generators/templates/domain-index.d.ts +6 -0
- package/dist/action/generators/templates/domain-index.d.ts.map +1 -0
- package/dist/action/generators/templates/domain-registry.d.ts +6 -0
- package/dist/action/generators/templates/domain-registry.d.ts.map +1 -0
- package/dist/action/index.d.ts +31 -0
- package/dist/action/index.d.ts.map +1 -0
- package/dist/action/index.js +17 -0
- package/dist/action/index.js.map +1 -0
- package/dist/action/package.json +3 -0
- package/dist/action/reports/audit-report.d.ts +15 -0
- package/dist/action/reports/audit-report.d.ts.map +1 -0
- package/dist/action/reports/health-report.d.ts +15 -0
- package/dist/action/reports/health-report.d.ts.map +1 -0
- package/dist/action/reports/link-report.d.ts +15 -0
- package/dist/action/reports/link-report.d.ts.map +1 -0
- package/dist/action/utils/frontmatter.d.ts +50 -0
- package/dist/action/utils/frontmatter.d.ts.map +1 -0
- package/dist/action/utils/glob.d.ts +63 -0
- package/dist/action/utils/glob.d.ts.map +1 -0
- package/dist/action/utils/logger.d.ts +42 -0
- package/dist/action/utils/logger.d.ts.map +1 -0
- package/dist/action/utils/markdown.d.ts +89 -0
- package/dist/action/utils/markdown.d.ts.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +287 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/audit/auditor.d.ts +43 -0
- package/dist/core/audit/auditor.d.ts.map +1 -0
- package/dist/core/audit/auditor.js +273 -0
- package/dist/core/audit/auditor.js.map +1 -0
- package/dist/core/audit/rules.d.ts +37 -0
- package/dist/core/audit/rules.d.ts.map +1 -0
- package/dist/core/audit/rules.js +223 -0
- package/dist/core/audit/rules.js.map +1 -0
- package/dist/core/discover/antipatterns.d.ts +24 -0
- package/dist/core/discover/antipatterns.d.ts.map +1 -0
- package/dist/core/discover/antipatterns.js +354 -0
- package/dist/core/discover/antipatterns.js.map +1 -0
- package/dist/core/discover/dependencies.d.ts +57 -0
- package/dist/core/discover/dependencies.d.ts.map +1 -0
- package/dist/core/discover/dependencies.js +311 -0
- package/dist/core/discover/dependencies.js.map +1 -0
- package/dist/core/discover/patterns.d.ts +38 -0
- package/dist/core/discover/patterns.d.ts.map +1 -0
- package/dist/core/discover/patterns.js +371 -0
- package/dist/core/discover/patterns.js.map +1 -0
- package/dist/core/discover/standards.d.ts +58 -0
- package/dist/core/discover/standards.d.ts.map +1 -0
- package/dist/core/discover/standards.js +359 -0
- package/dist/core/discover/standards.js.map +1 -0
- package/dist/core/domains/classifier.d.ts +41 -0
- package/dist/core/domains/classifier.d.ts.map +1 -0
- package/dist/core/domains/classifier.js +208 -0
- package/dist/core/domains/classifier.js.map +1 -0
- package/dist/core/domains/constants.d.ts +40 -0
- package/dist/core/domains/constants.d.ts.map +1 -0
- package/dist/core/domains/constants.js +252 -0
- package/dist/core/domains/constants.js.map +1 -0
- package/dist/core/domains/detector.d.ts +35 -0
- package/dist/core/domains/detector.d.ts.map +1 -0
- package/dist/core/domains/detector.js +176 -0
- package/dist/core/domains/detector.js.map +1 -0
- package/dist/core/integrate/integrator.d.ts +35 -0
- package/dist/core/integrate/integrator.d.ts.map +1 -0
- package/dist/core/integrate/integrator.js +216 -0
- package/dist/core/integrate/integrator.js.map +1 -0
- package/dist/core/links/checker.d.ts +64 -0
- package/dist/core/links/checker.d.ts.map +1 -0
- package/dist/core/links/checker.js +190 -0
- package/dist/core/links/checker.js.map +1 -0
- package/dist/core/links/tracker.d.ts +69 -0
- package/dist/core/links/tracker.d.ts.map +1 -0
- package/dist/core/links/tracker.js +184 -0
- package/dist/core/links/tracker.js.map +1 -0
- package/dist/core/maintain/orchestrator.d.ts +39 -0
- package/dist/core/maintain/orchestrator.d.ts.map +1 -0
- package/dist/core/maintain/orchestrator.js +372 -0
- package/dist/core/maintain/orchestrator.js.map +1 -0
- package/dist/core/metadata/generator.d.ts +26 -0
- package/dist/core/metadata/generator.d.ts.map +1 -0
- package/dist/core/metadata/generator.js +221 -0
- package/dist/core/metadata/generator.js.map +1 -0
- package/dist/core/metadata/schema.d.ts +201 -0
- package/dist/core/metadata/schema.d.ts.map +1 -0
- package/dist/core/metadata/schema.js +184 -0
- package/dist/core/metadata/schema.js.map +1 -0
- package/dist/core/metadata/sync.d.ts +36 -0
- package/dist/core/metadata/sync.d.ts.map +1 -0
- package/dist/core/metadata/sync.js +195 -0
- package/dist/core/metadata/sync.js.map +1 -0
- package/dist/generators/index-generator.d.ts +19 -0
- package/dist/generators/index-generator.d.ts.map +1 -0
- package/dist/generators/index-generator.js +191 -0
- package/dist/generators/index-generator.js.map +1 -0
- package/dist/generators/registry-generator.d.ts +11 -0
- package/dist/generators/registry-generator.d.ts.map +1 -0
- package/dist/generators/registry-generator.js +156 -0
- package/dist/generators/registry-generator.js.map +1 -0
- package/dist/generators/scaffold.d.ts +30 -0
- package/dist/generators/scaffold.d.ts.map +1 -0
- package/dist/generators/scaffold.js +213 -0
- package/dist/generators/scaffold.js.map +1 -0
- package/dist/generators/templates/document.d.ts +14 -0
- package/dist/generators/templates/document.d.ts.map +1 -0
- package/dist/generators/templates/document.js +305 -0
- package/dist/generators/templates/document.js.map +1 -0
- package/dist/generators/templates/domain-index.d.ts +6 -0
- package/dist/generators/templates/domain-index.d.ts.map +1 -0
- package/dist/generators/templates/domain-index.js +68 -0
- package/dist/generators/templates/domain-index.js.map +1 -0
- package/dist/generators/templates/domain-registry.d.ts +6 -0
- package/dist/generators/templates/domain-registry.d.ts.map +1 -0
- package/dist/generators/templates/domain-registry.js +59 -0
- package/dist/generators/templates/domain-registry.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/reports/audit-report.d.ts +15 -0
- package/dist/reports/audit-report.d.ts.map +1 -0
- package/dist/reports/audit-report.js +150 -0
- package/dist/reports/audit-report.js.map +1 -0
- package/dist/reports/health-report.d.ts +15 -0
- package/dist/reports/health-report.d.ts.map +1 -0
- package/dist/reports/health-report.js +175 -0
- package/dist/reports/health-report.js.map +1 -0
- package/dist/reports/link-report.d.ts +15 -0
- package/dist/reports/link-report.d.ts.map +1 -0
- package/dist/reports/link-report.js +165 -0
- package/dist/reports/link-report.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +50 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +93 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/glob.d.ts +63 -0
- package/dist/utils/glob.d.ts.map +1 -0
- package/dist/utils/glob.js +128 -0
- package/dist/utils/glob.js.map +1 -0
- package/dist/utils/logger.d.ts +42 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +118 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/markdown.d.ts +89 -0
- package/dist/utils/markdown.d.ts.map +1 -0
- package/dist/utils/markdown.js +192 -0
- package/dist/utils/markdown.js.map +1 -0
- package/package.json +100 -0
- package/templates/claude/CLAUDE.md +204 -0
package/action.yml
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
name: 'Hit Em With The Docs'
|
|
2
|
+
description: 'Self-managing documentation system with hierarchical structure, intelligent automation, and pattern discovery'
|
|
3
|
+
author: 'hit-em-with-the-docs'
|
|
4
|
+
|
|
5
|
+
branding:
|
|
6
|
+
icon: 'book-open'
|
|
7
|
+
color: 'blue'
|
|
8
|
+
|
|
9
|
+
inputs:
|
|
10
|
+
command:
|
|
11
|
+
description: 'Command to run: init, maintain, audit, link-check, metadata-sync, integrate, discover'
|
|
12
|
+
required: true
|
|
13
|
+
default: 'maintain'
|
|
14
|
+
mode:
|
|
15
|
+
description: 'Execution mode: quick (skip link check), full (all checks), fix (auto-fix issues)'
|
|
16
|
+
required: false
|
|
17
|
+
default: 'quick'
|
|
18
|
+
docs-path:
|
|
19
|
+
description: 'Path to documentation directory'
|
|
20
|
+
required: false
|
|
21
|
+
default: '.documentation'
|
|
22
|
+
domain:
|
|
23
|
+
description: 'Specific domain to operate on (optional, applies to audit, link-check)'
|
|
24
|
+
required: false
|
|
25
|
+
discover-type:
|
|
26
|
+
description: 'Discovery type: patterns, anti-patterns, standards, dependencies'
|
|
27
|
+
required: false
|
|
28
|
+
default: 'patterns'
|
|
29
|
+
fail-on-error:
|
|
30
|
+
description: 'Fail the workflow if critical errors are found'
|
|
31
|
+
required: false
|
|
32
|
+
default: 'false'
|
|
33
|
+
fail-threshold:
|
|
34
|
+
description: 'Health score threshold below which to fail (0-100)'
|
|
35
|
+
required: false
|
|
36
|
+
default: '50'
|
|
37
|
+
|
|
38
|
+
outputs:
|
|
39
|
+
health-score:
|
|
40
|
+
description: 'Documentation health score (0-100)'
|
|
41
|
+
total-documents:
|
|
42
|
+
description: 'Total number of documentation files'
|
|
43
|
+
issues-found:
|
|
44
|
+
description: 'Number of issues found'
|
|
45
|
+
issues-fixed:
|
|
46
|
+
description: 'Number of issues auto-fixed (when mode=fix)'
|
|
47
|
+
broken-links:
|
|
48
|
+
description: 'Number of broken links detected'
|
|
49
|
+
metadata-compliance:
|
|
50
|
+
description: 'Percentage of documents with complete metadata'
|
|
51
|
+
report-path:
|
|
52
|
+
description: 'Path to the generated report file'
|
|
53
|
+
|
|
54
|
+
runs:
|
|
55
|
+
using: 'node20'
|
|
56
|
+
main: 'dist/action/index.js'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/action/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/cli/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface AuditOptions {
|
|
2
|
+
docsPath: string;
|
|
3
|
+
domain?: string;
|
|
4
|
+
issuesOnly?: boolean;
|
|
5
|
+
silent?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface AuditResult {
|
|
8
|
+
totalFiles: number;
|
|
9
|
+
passedFiles: number;
|
|
10
|
+
failedFiles: number;
|
|
11
|
+
issues: AuditIssue[];
|
|
12
|
+
stats: AuditStats;
|
|
13
|
+
healthScore: number;
|
|
14
|
+
}
|
|
15
|
+
export interface AuditIssue {
|
|
16
|
+
file: string;
|
|
17
|
+
rule: string;
|
|
18
|
+
severity: 'error' | 'warning' | 'info';
|
|
19
|
+
message: string;
|
|
20
|
+
fixable: boolean;
|
|
21
|
+
suggestion?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface AuditStats {
|
|
24
|
+
metadataCompliance: number;
|
|
25
|
+
namingCompliance: number;
|
|
26
|
+
placementCompliance: number;
|
|
27
|
+
tagConsistency: number;
|
|
28
|
+
byDomain: Record<string, DomainAuditStats>;
|
|
29
|
+
}
|
|
30
|
+
export interface DomainAuditStats {
|
|
31
|
+
files: number;
|
|
32
|
+
issues: number;
|
|
33
|
+
healthScore: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Audit documentation for compliance and issues
|
|
37
|
+
*/
|
|
38
|
+
export declare function auditDocumentation(options: AuditOptions): Promise<AuditResult>;
|
|
39
|
+
/**
|
|
40
|
+
* Get audit summary for a domain
|
|
41
|
+
*/
|
|
42
|
+
export declare function getAuditSummaryForDomain(docsPath: string, domain: string): Promise<DomainAuditStats>;
|
|
43
|
+
//# sourceMappingURL=auditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auditor.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/core/audit/auditor.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA4IpF;AA+ID;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAQ3B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface AuditRule {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
severity: 'error' | 'warning' | 'info';
|
|
6
|
+
check: (filePath: string, docsPath: string) => RuleCheckResult;
|
|
7
|
+
}
|
|
8
|
+
export interface RuleCheckResult {
|
|
9
|
+
valid: boolean;
|
|
10
|
+
message?: string;
|
|
11
|
+
suggestion?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Check if file name follows naming convention (kebab-case)
|
|
15
|
+
*/
|
|
16
|
+
export declare function checkNamingConvention(filePath: string): RuleCheckResult;
|
|
17
|
+
/**
|
|
18
|
+
* Check if file is in the correct domain folder
|
|
19
|
+
*/
|
|
20
|
+
export declare function checkFilePlacement(filePath: string, docsPath: string, declaredDomain?: string): RuleCheckResult;
|
|
21
|
+
/**
|
|
22
|
+
* Check file size is within acceptable range
|
|
23
|
+
*/
|
|
24
|
+
export declare function checkFileSize(_filePath: string, fileSize: number, tier?: string): RuleCheckResult;
|
|
25
|
+
/**
|
|
26
|
+
* Check for required sections based on tier
|
|
27
|
+
*/
|
|
28
|
+
export declare function checkRequiredSections(content: string, tier?: string): RuleCheckResult;
|
|
29
|
+
/**
|
|
30
|
+
* Check for broken relative links within content
|
|
31
|
+
*/
|
|
32
|
+
export declare function checkRelativeLinks(content: string, _filePath: string): RuleCheckResult;
|
|
33
|
+
/**
|
|
34
|
+
* All built-in audit rules
|
|
35
|
+
*/
|
|
36
|
+
export declare const AUDIT_RULES: AuditRule[];
|
|
37
|
+
//# sourceMappingURL=rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/core/audit/rules.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,eAAe,CAAC;CAChE;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CA+CvE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,MAAM,GACtB,eAAe,CAkDjB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,GACZ,eAAe,CA+BjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,eAAe,CAuCjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,eAAe,CAqCjB;AASD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,EAelC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface AntiPatternDiscoveryOptions {
|
|
2
|
+
rootPath: string;
|
|
3
|
+
silent?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface DiscoveredAntiPattern {
|
|
6
|
+
name: string;
|
|
7
|
+
severity: 'high' | 'medium' | 'low';
|
|
8
|
+
type: AntiPatternType;
|
|
9
|
+
description: string;
|
|
10
|
+
locations: AntiPatternLocation[];
|
|
11
|
+
recommendation: string;
|
|
12
|
+
}
|
|
13
|
+
export interface AntiPatternLocation {
|
|
14
|
+
file: string;
|
|
15
|
+
line: number;
|
|
16
|
+
code: string;
|
|
17
|
+
context?: string;
|
|
18
|
+
}
|
|
19
|
+
export type AntiPatternType = 'hardcoded-credentials' | 'sql-injection' | 'missing-error-handling' | 'code-duplication' | 'god-object' | 'long-function' | 'magic-numbers' | 'missing-types' | 'console-log' | 'any-type' | 'unused-import' | 'deprecated-api';
|
|
20
|
+
/**
|
|
21
|
+
* Discover anti-patterns in codebase
|
|
22
|
+
*/
|
|
23
|
+
export declare function discoverAntiPatterns(options: AntiPatternDiscoveryOptions): Promise<DiscoveredAntiPattern[]>;
|
|
24
|
+
//# sourceMappingURL=antipatterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antipatterns.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/core/discover/antipatterns.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,GACvB,uBAAuB,GACvB,eAAe,GACf,wBAAwB,GACxB,kBAAkB,GAClB,YAAY,GACZ,eAAe,GACf,eAAe,GACf,eAAe,GACf,aAAa,GACb,UAAU,GACV,eAAe,GACf,gBAAgB,CAAC;AAgIrB;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA2ElC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export interface DependencyAnalysisOptions {
|
|
2
|
+
rootPath: string;
|
|
3
|
+
silent?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface DependencyAnalysis {
|
|
6
|
+
packages: PackageAnalysis;
|
|
7
|
+
modules: ModuleAnalysis;
|
|
8
|
+
security: SecurityAnalysis;
|
|
9
|
+
unused: UnusedDependency[];
|
|
10
|
+
}
|
|
11
|
+
export interface PackageAnalysis {
|
|
12
|
+
total: number;
|
|
13
|
+
production: number;
|
|
14
|
+
development: number;
|
|
15
|
+
dependencies: PackageInfo[];
|
|
16
|
+
devDependencies: PackageInfo[];
|
|
17
|
+
}
|
|
18
|
+
export interface PackageInfo {
|
|
19
|
+
name: string;
|
|
20
|
+
version: string;
|
|
21
|
+
type: 'production' | 'development';
|
|
22
|
+
outdated?: boolean;
|
|
23
|
+
latestVersion?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ModuleAnalysis {
|
|
26
|
+
totalFiles: number;
|
|
27
|
+
imports: number;
|
|
28
|
+
circularDependencies: CircularDependency[];
|
|
29
|
+
highCoupling: HighCouplingModule[];
|
|
30
|
+
}
|
|
31
|
+
export interface CircularDependency {
|
|
32
|
+
files: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface HighCouplingModule {
|
|
35
|
+
file: string;
|
|
36
|
+
imports: number;
|
|
37
|
+
importedBy: number;
|
|
38
|
+
}
|
|
39
|
+
export interface SecurityAnalysis {
|
|
40
|
+
vulnerabilities: SecurityVulnerability[];
|
|
41
|
+
}
|
|
42
|
+
export interface SecurityVulnerability {
|
|
43
|
+
package: string;
|
|
44
|
+
severity: 'low' | 'moderate' | 'high' | 'critical';
|
|
45
|
+
title: string;
|
|
46
|
+
recommendation: string;
|
|
47
|
+
}
|
|
48
|
+
export interface UnusedDependency {
|
|
49
|
+
name: string;
|
|
50
|
+
type: 'production' | 'development';
|
|
51
|
+
reason: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Analyze project dependencies
|
|
55
|
+
*/
|
|
56
|
+
export declare function analyzeDependencies(options: DependencyAnalysisOptions): Promise<DependencyAnalysis>;
|
|
57
|
+
//# sourceMappingURL=dependencies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/core/discover/dependencies.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,eAAe,EAAE,WAAW,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IAC3C,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,qBAAqB,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAyC7B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface PatternDiscoveryOptions {
|
|
2
|
+
rootPath: string;
|
|
3
|
+
language?: string;
|
|
4
|
+
category?: string;
|
|
5
|
+
silent?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface DiscoveredPattern {
|
|
8
|
+
name: string;
|
|
9
|
+
category: PatternCategory;
|
|
10
|
+
description: string;
|
|
11
|
+
occurrences: number;
|
|
12
|
+
examples: PatternExample[];
|
|
13
|
+
suggestedDocumentation?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface PatternExample {
|
|
16
|
+
file: string;
|
|
17
|
+
line: number;
|
|
18
|
+
code: string;
|
|
19
|
+
context?: string;
|
|
20
|
+
}
|
|
21
|
+
export type PatternCategory = 'architecture' | 'data-access' | 'error-handling' | 'security' | 'testing' | 'api' | 'state-management' | 'utility';
|
|
22
|
+
export interface PatternDefinition {
|
|
23
|
+
name: string;
|
|
24
|
+
category: PatternCategory;
|
|
25
|
+
description: string;
|
|
26
|
+
patterns: RegExp[];
|
|
27
|
+
filePatterns?: string[];
|
|
28
|
+
languages?: string[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Discover patterns in codebase
|
|
32
|
+
*/
|
|
33
|
+
export declare function discoverPatterns(options: PatternDiscoveryOptions): Promise<DiscoveredPattern[]>;
|
|
34
|
+
/**
|
|
35
|
+
* Generate documentation suggestion for a pattern
|
|
36
|
+
*/
|
|
37
|
+
export declare function generatePatternDocumentation(pattern: DiscoveredPattern): string;
|
|
38
|
+
//# sourceMappingURL=patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/core/discover/patterns.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,UAAU,GACV,SAAS,GACT,KAAK,GACL,kBAAkB,GAClB,SAAS,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAsND;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoE9B;AA0FD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAkC/E"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export interface StandardsDiscoveryOptions {
|
|
2
|
+
rootPath: string;
|
|
3
|
+
silent?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface DiscoveredStandards {
|
|
6
|
+
naming: NamingStandards;
|
|
7
|
+
fileOrganization: FileOrganizationStandards;
|
|
8
|
+
codeStyle: CodeStyleStandards;
|
|
9
|
+
documentation: DocumentationStandards;
|
|
10
|
+
testing: TestingStandards;
|
|
11
|
+
}
|
|
12
|
+
export interface NamingStandards {
|
|
13
|
+
functions: ConventionCompliance;
|
|
14
|
+
classes: ConventionCompliance;
|
|
15
|
+
constants: ConventionCompliance;
|
|
16
|
+
variables: ConventionCompliance;
|
|
17
|
+
files: ConventionCompliance;
|
|
18
|
+
}
|
|
19
|
+
export interface ConventionCompliance {
|
|
20
|
+
convention: string;
|
|
21
|
+
compliance: number;
|
|
22
|
+
examples: {
|
|
23
|
+
name: string;
|
|
24
|
+
file: string;
|
|
25
|
+
compliant: boolean;
|
|
26
|
+
}[];
|
|
27
|
+
}
|
|
28
|
+
export interface FileOrganizationStandards {
|
|
29
|
+
patterns: {
|
|
30
|
+
pattern: string;
|
|
31
|
+
files: number;
|
|
32
|
+
examples: string[];
|
|
33
|
+
}[];
|
|
34
|
+
rootFolders: string[];
|
|
35
|
+
}
|
|
36
|
+
export interface CodeStyleStandards {
|
|
37
|
+
maxLineLength: number;
|
|
38
|
+
indentation: 'spaces' | 'tabs' | 'mixed';
|
|
39
|
+
indentSize?: number;
|
|
40
|
+
semicolons: 'always' | 'never' | 'mixed';
|
|
41
|
+
quotes: 'single' | 'double' | 'mixed';
|
|
42
|
+
trailingCommas: 'always' | 'never' | 'mixed';
|
|
43
|
+
}
|
|
44
|
+
export interface DocumentationStandards {
|
|
45
|
+
docstringStyle: string;
|
|
46
|
+
coverage: number;
|
|
47
|
+
typeHintCoverage: number;
|
|
48
|
+
}
|
|
49
|
+
export interface TestingStandards {
|
|
50
|
+
pattern: string;
|
|
51
|
+
coverage?: number;
|
|
52
|
+
fixturePattern?: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Discover implicit standards from codebase
|
|
56
|
+
*/
|
|
57
|
+
export declare function discoverStandards(options: StandardsDiscoveryOptions): Promise<DiscoveredStandards>;
|
|
58
|
+
//# sourceMappingURL=standards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/core/discover/standards.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,SAAS,EAAE,kBAAkB,CAAC;IAC9B,aAAa,EAAE,sBAAsB,CAAC;IACtC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,SAAS,EAAE,oBAAoB,CAAC;IAChC,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAChE;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACnE,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IACzC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,cAAc,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;CAC9C;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAoD9B"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document tier classification system.
|
|
3
|
+
* Classifies documents into 5 tiers based on content structure.
|
|
4
|
+
*/
|
|
5
|
+
export declare const TIERS: readonly ["guide", "standard", "example", "reference", "admin"];
|
|
6
|
+
export type Tier = (typeof TIERS)[number];
|
|
7
|
+
export interface TierDefinition {
|
|
8
|
+
id: Tier;
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
sizeRange: {
|
|
12
|
+
min: number;
|
|
13
|
+
max: number;
|
|
14
|
+
};
|
|
15
|
+
indicators: string[];
|
|
16
|
+
headingPatterns: RegExp[];
|
|
17
|
+
}
|
|
18
|
+
export declare const TIER_DEFINITIONS: Record<Tier, TierDefinition>;
|
|
19
|
+
export interface TierClassificationResult {
|
|
20
|
+
tier: Tier;
|
|
21
|
+
confidence: number;
|
|
22
|
+
scores: Record<Tier, number>;
|
|
23
|
+
reasoning: string[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Classify document content into a tier
|
|
27
|
+
*/
|
|
28
|
+
export declare function classifyTier(content: string): TierClassificationResult;
|
|
29
|
+
/**
|
|
30
|
+
* Get tier definition by ID
|
|
31
|
+
*/
|
|
32
|
+
export declare function getTierDefinition(tier: Tier): TierDefinition;
|
|
33
|
+
/**
|
|
34
|
+
* Check if a string is a valid tier
|
|
35
|
+
*/
|
|
36
|
+
export declare function isValidTier(value: string): value is Tier;
|
|
37
|
+
/**
|
|
38
|
+
* Get tier display name
|
|
39
|
+
*/
|
|
40
|
+
export declare function getTierDisplayName(tier: Tier): string;
|
|
41
|
+
//# sourceMappingURL=classifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/core/domains/classifier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,KAAK,iEAAkE,CAAC;AACrF,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAgFzD,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB,CA+GtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,IAAI,CAExD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAErD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain definitions for the hierarchical documentation system.
|
|
3
|
+
* The system organizes documentation into 15 specialized domains.
|
|
4
|
+
*/
|
|
5
|
+
export declare const DOMAINS: readonly ["agents", "api", "architecture", "backups", "database", "devops", "features", "plans", "procedures", "quickstart", "security", "standards", "testing", "troubleshooting", "workflows"];
|
|
6
|
+
export type Domain = (typeof DOMAINS)[number];
|
|
7
|
+
export interface DomainDefinition {
|
|
8
|
+
id: Domain;
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
keywords: string[];
|
|
12
|
+
loadPriority: number;
|
|
13
|
+
category: 'core' | 'development' | 'features' | 'advanced';
|
|
14
|
+
}
|
|
15
|
+
export declare const DOMAIN_DEFINITIONS: Record<Domain, DomainDefinition>;
|
|
16
|
+
/**
|
|
17
|
+
* Get domain definition by ID
|
|
18
|
+
*/
|
|
19
|
+
export declare function getDomainDefinition(domain: Domain): DomainDefinition;
|
|
20
|
+
/**
|
|
21
|
+
* Get all domain IDs
|
|
22
|
+
*/
|
|
23
|
+
export declare function getAllDomains(): readonly Domain[];
|
|
24
|
+
/**
|
|
25
|
+
* Get domains by category
|
|
26
|
+
*/
|
|
27
|
+
export declare function getDomainsByCategory(category: DomainDefinition['category']): Domain[];
|
|
28
|
+
/**
|
|
29
|
+
* Get domains sorted by load priority (highest first)
|
|
30
|
+
*/
|
|
31
|
+
export declare function getDomainsByPriority(): Domain[];
|
|
32
|
+
/**
|
|
33
|
+
* Check if a string is a valid domain
|
|
34
|
+
*/
|
|
35
|
+
export declare function isValidDomain(value: string): value is Domain;
|
|
36
|
+
/**
|
|
37
|
+
* Get all keywords across all domains
|
|
38
|
+
*/
|
|
39
|
+
export declare function getAllKeywords(): Map<string, Domain[]>;
|
|
40
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/core/domains/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,OAAO,kMAgBV,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC;CAC5D;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAwL/D,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAEpE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,SAAS,MAAM,EAAE,CAEjD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,GACrC,MAAM,EAAE,CAEV;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAI/C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAatD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Domain } from './constants.js';
|
|
2
|
+
export interface DomainDetectionResult {
|
|
3
|
+
domain: Domain | null;
|
|
4
|
+
confidence: number;
|
|
5
|
+
method: 'path' | 'content' | 'keywords' | 'none';
|
|
6
|
+
alternativeDomains: {
|
|
7
|
+
domain: Domain;
|
|
8
|
+
confidence: number;
|
|
9
|
+
}[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Detect domain from file path and/or content
|
|
13
|
+
*/
|
|
14
|
+
export declare function detectDomain(filePath: string, content?: string, docsRoot?: string): DomainDetectionResult;
|
|
15
|
+
/**
|
|
16
|
+
* Detect domain from file path
|
|
17
|
+
*/
|
|
18
|
+
export declare function detectDomainFromPath(filePath: string, docsRoot?: string): DomainDetectionResult;
|
|
19
|
+
/**
|
|
20
|
+
* Detect domain from document content
|
|
21
|
+
*/
|
|
22
|
+
export declare function detectDomainFromContent(content: string): DomainDetectionResult;
|
|
23
|
+
/**
|
|
24
|
+
* Get suggested domains for a file based on its name
|
|
25
|
+
*/
|
|
26
|
+
export declare function suggestDomainsForFile(fileName: string): Domain[];
|
|
27
|
+
/**
|
|
28
|
+
* Validate that a file is in the correct domain
|
|
29
|
+
*/
|
|
30
|
+
export declare function validateDomainPlacement(filePath: string, docsRoot?: string): {
|
|
31
|
+
isCorrect: boolean;
|
|
32
|
+
currentDomain: Domain | null;
|
|
33
|
+
suggestedDomain: Domain | null;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/core/domains/detector.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EAKP,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACjD,kBAAkB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAyB,GAClC,qBAAqB,CA8BvB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAyB,GAClC,qBAAqB,CA8CvB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAyD9E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAyBhE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAyB,GAClC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAWtF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type PartialDocumentMetadata } from '../metadata/schema.js';
|
|
2
|
+
import type { Domain } from '../domains/constants.js';
|
|
3
|
+
export interface IntegrateOptions {
|
|
4
|
+
filePath: string;
|
|
5
|
+
docsPath: string;
|
|
6
|
+
auto?: boolean;
|
|
7
|
+
dryRun?: boolean;
|
|
8
|
+
force?: boolean;
|
|
9
|
+
silent?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface IntegrateResult {
|
|
12
|
+
success: boolean;
|
|
13
|
+
integrated: boolean;
|
|
14
|
+
originalPath: string;
|
|
15
|
+
targetPath?: string;
|
|
16
|
+
domain?: Domain;
|
|
17
|
+
tier?: string;
|
|
18
|
+
duplicates?: DuplicateMatch[];
|
|
19
|
+
metadata?: PartialDocumentMetadata;
|
|
20
|
+
error?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface DuplicateMatch {
|
|
23
|
+
path: string;
|
|
24
|
+
title: string;
|
|
25
|
+
similarity: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Integrate a document into the documentation system
|
|
29
|
+
*/
|
|
30
|
+
export declare function integrateDocument(options: IntegrateOptions): Promise<IntegrateResult>;
|
|
31
|
+
/**
|
|
32
|
+
* Batch integrate multiple documents
|
|
33
|
+
*/
|
|
34
|
+
export declare function batchIntegrate(files: string[], options: Omit<IntegrateOptions, 'filePath'>): Promise<IntegrateResult[]>;
|
|
35
|
+
//# sourceMappingURL=integrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrator.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/core/integrate/integrator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CA8I1B;AA+GD;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAC1C,OAAO,CAAC,eAAe,EAAE,CAAC,CAY5B"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { Domain } from '../domains/constants.js';
|
|
2
|
+
export { type MarkdownLink } from '../../utils/markdown.js';
|
|
3
|
+
export interface LinkCheckOptions {
|
|
4
|
+
docsPath: string;
|
|
5
|
+
domain?: string;
|
|
6
|
+
checkExternal?: boolean;
|
|
7
|
+
silent?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface LinkCheckResult {
|
|
10
|
+
totalFiles: number;
|
|
11
|
+
totalLinks: number;
|
|
12
|
+
validLinks: number;
|
|
13
|
+
brokenLinks: BrokenLink[];
|
|
14
|
+
crossDomainLinks: CrossDomainLink[];
|
|
15
|
+
externalLinks: ExternalLink[];
|
|
16
|
+
stats: LinkStats;
|
|
17
|
+
}
|
|
18
|
+
export interface BrokenLink {
|
|
19
|
+
sourceFile: string;
|
|
20
|
+
targetPath: string;
|
|
21
|
+
lineNumber: number;
|
|
22
|
+
linkText: string;
|
|
23
|
+
reason: string;
|
|
24
|
+
}
|
|
25
|
+
export interface CrossDomainLink {
|
|
26
|
+
sourceFile: string;
|
|
27
|
+
sourceDomain: Domain | null;
|
|
28
|
+
targetPath: string;
|
|
29
|
+
targetDomain: Domain | null;
|
|
30
|
+
linkText: string;
|
|
31
|
+
}
|
|
32
|
+
export interface ExternalLink {
|
|
33
|
+
sourceFile: string;
|
|
34
|
+
url: string;
|
|
35
|
+
linkText: string;
|
|
36
|
+
status?: number;
|
|
37
|
+
}
|
|
38
|
+
export interface LinkStats {
|
|
39
|
+
internalLinks: number;
|
|
40
|
+
externalLinks: number;
|
|
41
|
+
crossDomainLinks: number;
|
|
42
|
+
brokenPercentage: number;
|
|
43
|
+
topConnectedDomains: {
|
|
44
|
+
from: string;
|
|
45
|
+
to: string;
|
|
46
|
+
count: number;
|
|
47
|
+
}[];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check all links in documentation
|
|
51
|
+
*/
|
|
52
|
+
export declare function checkLinks(options: LinkCheckOptions): Promise<LinkCheckResult>;
|
|
53
|
+
/**
|
|
54
|
+
* Check a single link and return its status
|
|
55
|
+
*/
|
|
56
|
+
export declare function checkSingleLink(linkUrl: string, sourceFile: string, docsPath: string): Promise<{
|
|
57
|
+
valid: boolean;
|
|
58
|
+
reason?: string;
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Get broken links for a specific file
|
|
62
|
+
*/
|
|
63
|
+
export declare function getFileBrokenLinks(filePath: string, docsPath: string): Promise<BrokenLink[]>;
|
|
64
|
+
//# sourceMappingURL=checker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["file:///mnt/e/docker-containers/hit-em-with-the-docs/src/core/links/checker.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAmJpF;AAuBD;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAW9C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,CAAC,CAyBvB"}
|