driftdetect 0.9.34 → 0.9.35

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.
Files changed (96) hide show
  1. package/dist/bin/drift.d.ts +11 -0
  2. package/dist/commands/approve.d.ts +28 -0
  3. package/dist/commands/audit.d.ts +29 -0
  4. package/dist/commands/boundaries.d.ts +20 -0
  5. package/dist/commands/callgraph.d.ts +24 -0
  6. package/dist/commands/check.d.ts +41 -0
  7. package/dist/commands/constants.d.ts +35 -0
  8. package/dist/commands/constraints.d.ts +17 -0
  9. package/dist/commands/context.d.ts +19 -0
  10. package/dist/commands/coupling.d.ts +17 -0
  11. package/dist/commands/cpp.d.ts +22 -0
  12. package/dist/commands/dashboard.d.ts +16 -0
  13. package/dist/commands/decisions.d.ts +19 -0
  14. package/dist/commands/dna/export.d.ts +6 -0
  15. package/dist/commands/dna/gene.d.ts +6 -0
  16. package/dist/commands/dna/index.d.ts +8 -0
  17. package/dist/commands/dna/mutations.d.ts +6 -0
  18. package/dist/commands/dna/playbook.d.ts +6 -0
  19. package/dist/commands/dna/scan.d.ts +6 -0
  20. package/dist/commands/dna/status.d.ts +6 -0
  21. package/dist/commands/env.d.ts +23 -0
  22. package/dist/commands/error-handling.d.ts +15 -0
  23. package/dist/commands/export.d.ts +16 -0
  24. package/dist/commands/files.d.ts +15 -0
  25. package/dist/commands/gate.d.ts +33 -0
  26. package/dist/commands/go.d.ts +21 -0
  27. package/dist/commands/ignore.d.ts +20 -0
  28. package/dist/commands/index.d.ts +50 -0
  29. package/dist/commands/index.js +68 -0
  30. package/dist/commands/index.js.map +1 -0
  31. package/dist/commands/init.d.ts +19 -0
  32. package/dist/commands/java.d.ts +15 -0
  33. package/dist/commands/license.d.ts +12 -0
  34. package/dist/commands/migrate-storage.d.ts +23 -0
  35. package/dist/commands/next-steps.d.ts +15 -0
  36. package/dist/commands/parser.d.ts +20 -0
  37. package/dist/commands/php.d.ts +15 -0
  38. package/dist/commands/projects.d.ts +17 -0
  39. package/dist/commands/py.d.ts +15 -0
  40. package/dist/commands/report.d.ts +22 -0
  41. package/dist/commands/rust.d.ts +21 -0
  42. package/dist/commands/scan.d.ts +45 -0
  43. package/dist/commands/simulate.d.ts +17 -0
  44. package/dist/commands/skills.d.ts +16 -0
  45. package/dist/commands/status.d.ts +20 -0
  46. package/dist/commands/telemetry.d.ts +9 -0
  47. package/dist/commands/test-topology.d.ts +15 -0
  48. package/dist/commands/trends.d.ts +12 -0
  49. package/dist/commands/troubleshoot.d.ts +14 -0
  50. package/dist/commands/ts.d.ts +21 -0
  51. package/dist/commands/watch.d.ts +13 -0
  52. package/dist/commands/where.d.ts +15 -0
  53. package/dist/commands/wpf.d.ts +21 -0
  54. package/dist/commands/wrappers.d.ts +16 -0
  55. package/dist/git/hooks.d.ts +108 -0
  56. package/dist/git/index.d.ts +6 -0
  57. package/dist/git/index.d.ts.map +1 -0
  58. package/dist/git/index.js +6 -0
  59. package/dist/git/index.js.map +1 -0
  60. package/dist/git/staged-files.d.ts +41 -0
  61. package/dist/git/staged-files.d.ts.map +1 -0
  62. package/dist/git/staged-files.js +118 -0
  63. package/dist/git/staged-files.js.map +1 -0
  64. package/dist/index.d.ts +17 -0
  65. package/dist/index.js +24 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/reporters/github-reporter.d.ts +13 -0
  68. package/dist/reporters/gitlab-reporter.d.ts +16 -0
  69. package/dist/reporters/index.d.ts +9 -0
  70. package/dist/reporters/index.js +9 -0
  71. package/dist/reporters/index.js.map +1 -0
  72. package/dist/reporters/json-reporter.d.ts +13 -0
  73. package/dist/reporters/json-reporter.js +44 -0
  74. package/dist/reporters/json-reporter.js.map +1 -0
  75. package/dist/reporters/text-reporter.d.ts +13 -0
  76. package/dist/reporters/types.d.ts +42 -0
  77. package/dist/reporters/types.js +5 -0
  78. package/dist/reporters/types.js.map +1 -0
  79. package/dist/services/boundary-scanner.d.ts +22 -0
  80. package/dist/services/pattern-service-factory.d.ts +37 -0
  81. package/dist/services/pattern-service-factory.js +41 -0
  82. package/dist/services/pattern-service-factory.js.map +1 -0
  83. package/dist/services/scanner-service.d.ts +237 -0
  84. package/dist/types/index.d.ts +24 -0
  85. package/dist/types/index.d.ts.map +1 -0
  86. package/dist/types/index.js +5 -0
  87. package/dist/types/index.js.map +1 -0
  88. package/dist/ui/index.d.ts +11 -0
  89. package/dist/ui/index.js +15 -0
  90. package/dist/ui/index.js.map +1 -0
  91. package/dist/ui/progress.d.ts +115 -0
  92. package/dist/ui/prompts.d.ts +91 -0
  93. package/dist/ui/spinner.d.ts +109 -0
  94. package/dist/ui/table.d.ts +118 -0
  95. package/dist/workers/detector-worker.d.ts +125 -0
  96. package/package.json +1 -1
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Init Command - drift init
3
+ *
4
+ * Initialize Drift in a project by creating the .drift/ directory
5
+ * and running an initial scan.
6
+ *
7
+ * @requirements 29.1, 38.1
8
+ */
9
+ import { Command } from 'commander';
10
+ export interface InitOptions {
11
+ /** Initialize from Cheatcode2026 scaffold */
12
+ fromScaffold?: boolean;
13
+ /** Skip interactive prompts */
14
+ yes?: boolean;
15
+ /** Enable verbose output */
16
+ verbose?: boolean;
17
+ }
18
+ export declare const initCommand: Command;
19
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Java Command - drift java
3
+ *
4
+ * Analyze Java projects: routes, error handling, data access, annotations.
5
+ *
6
+ * @requirements Java Language Support
7
+ */
8
+ import { Command } from 'commander';
9
+ export interface JavaOptions {
10
+ format?: 'text' | 'json';
11
+ verbose?: boolean;
12
+ framework?: string;
13
+ }
14
+ export declare function createJavaCommand(): Command;
15
+ //# sourceMappingURL=java.d.ts.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * License Command - drift license
3
+ *
4
+ * Display license status and available features.
5
+ */
6
+ import { Command } from 'commander';
7
+ export interface LicenseOptions {
8
+ /** Output format */
9
+ format?: 'text' | 'json';
10
+ }
11
+ export declare const licenseCommand: Command;
12
+ //# sourceMappingURL=license.d.ts.map
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Migrate Storage Command - drift migrate-storage
3
+ *
4
+ * Migrates pattern storage from legacy status-based format to unified
5
+ * category-based format (Phase 3 of Pattern System Consolidation).
6
+ *
7
+ * Legacy format:
8
+ * .drift/patterns/
9
+ * ├── discovered/
10
+ * │ ├── api.json
11
+ * │ └── security.json
12
+ * ├── approved/
13
+ * └── ignored/
14
+ *
15
+ * Unified format:
16
+ * .drift/patterns/
17
+ * ├── api.json # Contains all statuses
18
+ * ├── security.json
19
+ * └── ...
20
+ */
21
+ import { Command } from 'commander';
22
+ export declare const migrateStorageCommand: Command;
23
+ //# sourceMappingURL=migrate-storage.d.ts.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Next Steps Command - drift next-steps
3
+ *
4
+ * Analyzes the current project state and recommends the most relevant
5
+ * next actions based on project type, patterns found, and current status.
6
+ *
7
+ * This is the "what should I do next?" command for new users.
8
+ */
9
+ import { Command } from 'commander';
10
+ export interface NextStepsOptions {
11
+ format?: 'text' | 'json';
12
+ verbose?: boolean;
13
+ }
14
+ export declare const nextStepsCommand: Command;
15
+ //# sourceMappingURL=next-steps.d.ts.map
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Parser Command - drift parser
3
+ *
4
+ * Show parser information and diagnostics for drift's language parsers.
5
+ * Displays which parsers are available, their capabilities, and allows
6
+ * testing parsing on specific files.
7
+ *
8
+ * @requirements Phase 4 - CLI Integration
9
+ */
10
+ import { Command } from 'commander';
11
+ export interface ParserOptions {
12
+ /** Test parsing a specific file */
13
+ test?: string;
14
+ /** Output format */
15
+ format?: 'text' | 'json';
16
+ /** Show verbose output */
17
+ verbose?: boolean;
18
+ }
19
+ export declare const parserCommand: Command;
20
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * PHP Command - drift php
3
+ *
4
+ * Analyze PHP projects: routes, error handling, data access, traits.
5
+ *
6
+ * @requirements PHP Language Support
7
+ */
8
+ import { Command } from 'commander';
9
+ export interface PhpOptions {
10
+ format?: 'text' | 'json';
11
+ verbose?: boolean;
12
+ framework?: string;
13
+ }
14
+ export declare function createPhpCommand(): Command;
15
+ //# sourceMappingURL=php.d.ts.map
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Projects Command - drift projects
3
+ *
4
+ * Manage multiple drift-initialized projects from a central registry.
5
+ * Supports listing, switching, and organizing projects.
6
+ *
7
+ * Commands:
8
+ * - drift projects list - List all registered projects
9
+ * - drift projects switch - Switch active project
10
+ * - drift projects add - Register a project
11
+ * - drift projects remove - Unregister a project
12
+ * - drift projects info - Show project details
13
+ * - drift projects cleanup - Remove invalid projects
14
+ */
15
+ import { Command } from 'commander';
16
+ export declare const projectsCommand: Command;
17
+ //# sourceMappingURL=projects.d.ts.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Python Command - drift py
3
+ *
4
+ * Analyze Python projects: routes, error handling, data access, async patterns.
5
+ *
6
+ * @requirements Python Language Support
7
+ */
8
+ import { Command } from 'commander';
9
+ export interface PyOptions {
10
+ format?: 'text' | 'json';
11
+ verbose?: boolean;
12
+ framework?: string;
13
+ }
14
+ export declare function createPyCommand(): Command;
15
+ //# sourceMappingURL=py.d.ts.map
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Report Command - drift report
3
+ *
4
+ * Generate reports in various formats.
5
+ *
6
+ * MIGRATION: Now uses IPatternService for pattern operations.
7
+ *
8
+ * @requirements 29.7
9
+ */
10
+ import { Command } from 'commander';
11
+ export interface ReportOptions {
12
+ /** Output format */
13
+ format?: 'text' | 'json' | 'github' | 'gitlab';
14
+ /** Output file path */
15
+ output?: string;
16
+ /** Include only specific categories */
17
+ categories?: string[];
18
+ /** Enable verbose output */
19
+ verbose?: boolean;
20
+ }
21
+ export declare const reportCommand: Command;
22
+ //# sourceMappingURL=report.d.ts.map
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Rust Command - drift rust
3
+ *
4
+ * Analyze Rust projects: routes, error handling, traits, data access.
5
+ *
6
+ * @requirements Rust Language Support
7
+ */
8
+ import { Command } from 'commander';
9
+ export interface RustOptions {
10
+ /** Output format */
11
+ format?: 'text' | 'json';
12
+ /** Enable verbose output */
13
+ verbose?: boolean;
14
+ /** Filter by framework */
15
+ framework?: string;
16
+ }
17
+ /**
18
+ * Create the Rust command
19
+ */
20
+ export declare function createRustCommand(): Command;
21
+ //# sourceMappingURL=rust.d.ts.map
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Scan Command - drift scan
3
+ *
4
+ * Perform a full codebase scan to discover patterns using
5
+ * enterprise-grade detectors from driftdetect-detectors.
6
+ *
7
+ * @requirements 29.2
8
+ */
9
+ import { Command } from 'commander';
10
+ export interface ScanCommandOptions {
11
+ /** Specific paths to scan */
12
+ paths?: string[];
13
+ /** Enable verbose output */
14
+ verbose?: boolean;
15
+ /** Force rescan even if cache is valid */
16
+ force?: boolean;
17
+ /** Only run critical detectors */
18
+ critical?: boolean;
19
+ /** Filter by categories */
20
+ categories?: string[];
21
+ /** Generate manifest with semantic locations */
22
+ manifest?: boolean;
23
+ /** Incremental scan (only changed files) */
24
+ incremental?: boolean;
25
+ /** Skip BE↔FE contract scanning (contracts enabled by default) */
26
+ contracts?: boolean;
27
+ /** Skip data boundary scanning (boundaries enabled by default) */
28
+ boundaries?: boolean;
29
+ /** Build test topology during scan */
30
+ testTopology?: boolean;
31
+ /** Extract constants during scan */
32
+ constants?: boolean;
33
+ /** Build call graph during scan */
34
+ callgraph?: boolean;
35
+ /** Scan a specific registered project by name */
36
+ project?: string;
37
+ /** Scan all registered projects */
38
+ allProjects?: boolean;
39
+ /** Scan timeout in seconds (default: 300 = 5 minutes) */
40
+ timeout?: number;
41
+ /** Maximum file size in bytes to scan (default: 1MB) */
42
+ maxFileSize?: number;
43
+ }
44
+ export declare const scanCommand: Command;
45
+ //# sourceMappingURL=scan.d.ts.map
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Simulate Command - drift simulate
3
+ *
4
+ * Speculative Execution Engine: Simulates multiple implementation approaches
5
+ * BEFORE code generation, scoring them by friction, impact, and pattern alignment.
6
+ */
7
+ import { Command } from 'commander';
8
+ export interface SimulateOptions {
9
+ format?: 'text' | 'json' | undefined;
10
+ verbose?: boolean | undefined;
11
+ maxApproaches?: number | undefined;
12
+ category?: string | undefined;
13
+ target?: string | undefined;
14
+ constraint?: string[] | undefined;
15
+ }
16
+ export declare function createSimulateCommand(): Command;
17
+ //# sourceMappingURL=simulate.d.ts.map
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Skills Command - drift skills
3
+ *
4
+ * Manage Agent Skills for AI-assisted development.
5
+ * Skills are folders of instructions, scripts, and resources that AI agents
6
+ * can load to perform specialized tasks.
7
+ *
8
+ * Commands:
9
+ * - drift skills list - List available skills
10
+ * - drift skills install - Install a skill to your project
11
+ * - drift skills info - Show skill details
12
+ * - drift skills search - Search skills by keyword
13
+ */
14
+ import { Command } from 'commander';
15
+ export declare const skillsCommand: Command;
16
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Status Command - drift status
3
+ *
4
+ * Show current drift status including patterns and violations.
5
+ *
6
+ * MIGRATION: Now uses IPatternService for pattern operations.
7
+ *
8
+ * @requirements 29.4
9
+ */
10
+ import { Command } from 'commander';
11
+ export interface StatusOptions {
12
+ /** Show detailed information */
13
+ detailed?: boolean;
14
+ /** Output format */
15
+ format?: 'text' | 'json';
16
+ /** Enable verbose output */
17
+ verbose?: boolean;
18
+ }
19
+ export declare const statusCommand: Command;
20
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Telemetry Command - drift telemetry
3
+ *
4
+ * Manage telemetry settings for Drift.
5
+ * All telemetry is opt-in and privacy-first.
6
+ */
7
+ import { Command } from 'commander';
8
+ export declare const telemetryCommand: Command;
9
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Test Topology Command - drift test-topology
3
+ *
4
+ * Analyze test-to-code mappings, mock patterns, and test quality.
5
+ * Answers: "Which tests cover this code?" and "What's the minimum test set?"
6
+ */
7
+ import { Command } from 'commander';
8
+ export interface TestTopologyOptions {
9
+ format?: 'text' | 'json';
10
+ verbose?: boolean;
11
+ limit?: number;
12
+ minRisk?: 'low' | 'medium' | 'high';
13
+ }
14
+ export declare function createTestTopologyCommand(): Command;
15
+ //# sourceMappingURL=test-topology.d.ts.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Trends Command - drift trends
3
+ *
4
+ * View pattern regressions and improvements over time.
5
+ */
6
+ import { Command } from 'commander';
7
+ export interface TrendsCommandOptions {
8
+ period?: '7d' | '30d' | '90d';
9
+ verbose?: boolean;
10
+ }
11
+ export declare const trendsCommand: Command;
12
+ //# sourceMappingURL=trends.d.ts.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Troubleshoot Command - drift troubleshoot
3
+ *
4
+ * Diagnoses common issues and provides targeted fixes.
5
+ * Helps users resolve problems without searching documentation.
6
+ */
7
+ import { Command } from 'commander';
8
+ export interface TroubleshootOptions {
9
+ format?: 'text' | 'json';
10
+ verbose?: boolean;
11
+ fix?: boolean;
12
+ }
13
+ export declare const troubleshootCommand: Command;
14
+ //# sourceMappingURL=troubleshoot.d.ts.map
@@ -0,0 +1,21 @@
1
+ /**
2
+ * TypeScript Command - drift ts
3
+ *
4
+ * Analyze TypeScript/JavaScript projects: routes, components, hooks, error handling, data access.
5
+ *
6
+ * @requirements TypeScript Language Support
7
+ */
8
+ import { Command } from 'commander';
9
+ export interface TsOptions {
10
+ /** Output format */
11
+ format?: 'text' | 'json';
12
+ /** Enable verbose output */
13
+ verbose?: boolean;
14
+ /** Filter by framework */
15
+ framework?: string;
16
+ }
17
+ /**
18
+ * Create the TypeScript command
19
+ */
20
+ export declare function createTsCommand(): Command;
21
+ //# sourceMappingURL=ts.d.ts.map
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Drift Watch Command
3
+ *
4
+ * Real-time file watching with pattern detection and persistence.
5
+ * Monitors file changes, detects patterns, persists to store, and emits events.
6
+ *
7
+ * @requirements Phase 1 - Watch mode should persist patterns to store
8
+ * @requirements Phase 2 - Smart merge strategy for pattern updates
9
+ * @requirements Phase 3 - File-level tracking for incremental updates
10
+ */
11
+ import { Command } from 'commander';
12
+ export declare const watchCommandDef: Command;
13
+ //# sourceMappingURL=watch.d.ts.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Where Command - Find pattern locations
3
+ *
4
+ * Quickly find where patterns are located in the codebase.
5
+ *
6
+ * MIGRATION: Now uses IPatternService for pattern operations.
7
+ *
8
+ * Usage:
9
+ * drift where auth # Find patterns matching "auth"
10
+ * drift where middleware # Find middleware patterns
11
+ * drift where --json # Output as JSON
12
+ */
13
+ import { Command } from 'commander';
14
+ export declare const whereCommand: Command;
15
+ //# sourceMappingURL=where.d.ts.map
@@ -0,0 +1,21 @@
1
+ /**
2
+ * WPF Command - drift wpf
3
+ *
4
+ * Analyze WPF applications: bindings, MVVM compliance, data flow.
5
+ *
6
+ * @requirements WPF Framework Support
7
+ */
8
+ import { Command } from 'commander';
9
+ export interface WpfOptions {
10
+ /** Output format */
11
+ format?: 'text' | 'json';
12
+ /** Enable verbose output */
13
+ verbose?: boolean;
14
+ /** Show only unresolved bindings */
15
+ unresolvedOnly?: boolean;
16
+ }
17
+ /**
18
+ * Create the WPF command
19
+ */
20
+ export declare function createWpfCommand(): Command;
21
+ //# sourceMappingURL=wpf.d.ts.map
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Wrappers Command
3
+ *
4
+ * Detect framework wrapper patterns in the codebase.
5
+ *
6
+ * Usage:
7
+ * drift wrappers # Scan current directory
8
+ * drift wrappers --json # Output as JSON
9
+ * drift wrappers --verbose # Show detailed output
10
+ * drift wrappers --include-tests # Include test files
11
+ * drift wrappers --min-confidence 0.8 # Filter by confidence
12
+ */
13
+ import { Command } from 'commander';
14
+ export declare const wrappersCommand: Command;
15
+ export default wrappersCommand;
16
+ //# sourceMappingURL=wrappers.d.ts.map
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Git Hooks - Pre-commit and pre-push hook setup
3
+ *
4
+ * Provides functionality to install and manage Git hooks for Drift integration.
5
+ * Supports both Husky-based and direct Git hooks installation.
6
+ *
7
+ * @requirements 37.1, 37.3
8
+ */
9
+ /**
10
+ * Hook types supported by Drift
11
+ */
12
+ export type HookType = 'pre-commit' | 'pre-push';
13
+ /**
14
+ * Result of a hook installation operation
15
+ */
16
+ export interface HookInstallResult {
17
+ success: boolean;
18
+ hookType: HookType;
19
+ method: 'husky' | 'git';
20
+ message: string;
21
+ path?: string;
22
+ }
23
+ /**
24
+ * Options for hook installation
25
+ */
26
+ export interface HookInstallOptions {
27
+ /** Force overwrite existing hooks */
28
+ force?: boolean;
29
+ /** Use Husky if available */
30
+ preferHusky?: boolean;
31
+ }
32
+ /**
33
+ * Check if Husky is installed and configured in the project
34
+ *
35
+ * @param rootDir - Root directory of the repository
36
+ * @returns True if Husky is available
37
+ */
38
+ export declare function isHuskyInstalled(rootDir: string): Promise<boolean>;
39
+ /**
40
+ * Get the Git hooks directory path
41
+ *
42
+ * @param rootDir - Root directory of the repository
43
+ * @returns Path to the Git hooks directory
44
+ */
45
+ export declare function getGitHooksDir(rootDir: string): Promise<string>;
46
+ /**
47
+ * Install a pre-commit hook for Drift
48
+ *
49
+ * The pre-commit hook runs `drift check --staged` to check only staged files
50
+ * before allowing a commit.
51
+ *
52
+ * @param rootDir - Root directory of the repository
53
+ * @param options - Installation options
54
+ * @returns Installation result
55
+ *
56
+ * @requirements 37.1
57
+ */
58
+ export declare function installPreCommitHook(rootDir: string, options?: HookInstallOptions): Promise<HookInstallResult>;
59
+ /**
60
+ * Install a pre-push hook for Drift
61
+ *
62
+ * The pre-push hook runs `drift check` to perform a full check
63
+ * before allowing a push.
64
+ *
65
+ * @param rootDir - Root directory of the repository
66
+ * @param options - Installation options
67
+ * @returns Installation result
68
+ *
69
+ * @requirements 37.3
70
+ */
71
+ export declare function installPrePushHook(rootDir: string, options?: HookInstallOptions): Promise<HookInstallResult>;
72
+ /**
73
+ * Install all Drift Git hooks (pre-commit and pre-push)
74
+ *
75
+ * @param rootDir - Root directory of the repository
76
+ * @param options - Installation options
77
+ * @returns Array of installation results
78
+ *
79
+ * @requirements 37.1, 37.3
80
+ */
81
+ export declare function installAllHooks(rootDir: string, options?: HookInstallOptions): Promise<HookInstallResult[]>;
82
+ /**
83
+ * Uninstall a Git hook
84
+ *
85
+ * @param rootDir - Root directory of the repository
86
+ * @param hookType - Type of hook to uninstall
87
+ * @returns True if hook was removed
88
+ */
89
+ export declare function uninstallHook(rootDir: string, hookType: HookType): Promise<boolean>;
90
+ /**
91
+ * Uninstall all Drift Git hooks
92
+ *
93
+ * @param rootDir - Root directory of the repository
94
+ * @returns Object with results for each hook type
95
+ */
96
+ export declare function uninstallAllHooks(rootDir: string): Promise<Record<HookType, boolean>>;
97
+ /**
98
+ * Get the status of installed hooks
99
+ *
100
+ * @param rootDir - Root directory of the repository
101
+ * @returns Object with status for each hook type
102
+ */
103
+ export declare function getHooksStatus(rootDir: string): Promise<Record<HookType, {
104
+ installed: boolean;
105
+ method?: 'husky' | 'git';
106
+ path?: string;
107
+ }>>;
108
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Git module exports
3
+ */
4
+ export { getStagedFiles, getChangedFiles, getUntrackedFiles, isGitRepository, getGitRoot, } from './staged-files.js';
5
+ export { type HookType, type HookInstallResult, type HookInstallOptions, isHuskyInstalled, getGitHooksDir, installPreCommitHook, installPrePushHook, installAllHooks, uninstallHook, uninstallAllHooks, getHooksStatus, } from './hooks.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Git module exports
3
+ */
4
+ export { getStagedFiles, getChangedFiles, getUntrackedFiles, isGitRepository, getGitRoot, } from './staged-files.js';
5
+ export { isHuskyInstalled, getGitHooksDir, installPreCommitHook, installPrePushHook, installAllHooks, uninstallHook, uninstallAllHooks, getHooksStatus, } from './hooks.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAIL,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Staged Files - Get list of staged files from Git
3
+ *
4
+ * @requirements 37.2
5
+ */
6
+ /**
7
+ * Get list of staged files from Git
8
+ *
9
+ * @param rootDir - Root directory of the repository
10
+ * @returns Array of staged file paths (relative to rootDir)
11
+ */
12
+ export declare function getStagedFiles(rootDir: string): Promise<string[]>;
13
+ /**
14
+ * Get list of all changed files (staged and unstaged)
15
+ *
16
+ * @param rootDir - Root directory of the repository
17
+ * @returns Array of changed file paths (relative to rootDir)
18
+ */
19
+ export declare function getChangedFiles(rootDir: string): Promise<string[]>;
20
+ /**
21
+ * Get list of untracked files
22
+ *
23
+ * @param rootDir - Root directory of the repository
24
+ * @returns Array of untracked file paths (relative to rootDir)
25
+ */
26
+ export declare function getUntrackedFiles(rootDir: string): Promise<string[]>;
27
+ /**
28
+ * Check if a path is inside a Git repository
29
+ *
30
+ * @param dirPath - Directory path to check
31
+ * @returns True if inside a Git repository
32
+ */
33
+ export declare function isGitRepository(dirPath: string): Promise<boolean>;
34
+ /**
35
+ * Get the root directory of the Git repository
36
+ *
37
+ * @param dirPath - Directory path inside the repository
38
+ * @returns Root directory of the Git repository
39
+ */
40
+ export declare function getGitRoot(dirPath: string): Promise<string>;
41
+ //# sourceMappingURL=staged-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staged-files.d.ts","sourceRoot":"","sources":["../../src/git/staged-files.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBvE;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBxE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiB1E;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUvE;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWjE"}