devflow-kit 0.1.2 โ 0.3.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/CHANGELOG.md +150 -1
- package/README.md +16 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +232 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +42 -2
- package/dist/commands/uninstall.js.map +1 -1
- package/package.json +1 -1
- package/src/claude/CLAUDE.md +332 -0
- package/src/claude/agents/devflow/audit-database.md +22 -19
- package/src/claude/agents/devflow/audit-dependencies.md +23 -24
- package/src/claude/agents/devflow/audit-documentation.md +307 -0
- package/src/claude/agents/devflow/audit-tests.md +348 -0
- package/src/claude/agents/devflow/audit-typescript.md +294 -0
- package/src/claude/agents/devflow/catch-up.md +47 -21
- package/src/claude/agents/devflow/commit.md +66 -31
- package/src/claude/agents/devflow/release.md +862 -0
- package/src/claude/agents/devflow/research.md +52 -33
- package/src/claude/commands/devflow/pre-commit.md +19 -4
- package/src/claude/commands/devflow/pre-pr.md +63 -6
- package/src/claude/commands/devflow/release.md +251 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,153 @@ All notable changes to DevFlow will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.3.0] - 2025-10-16
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
#### Language-Agnostic Global CLAUDE.md
|
|
13
|
+
- **Global engineering principles** - Universal CLAUDE.md works across all programming languages
|
|
14
|
+
- Strips language-specific syntax, focuses on concepts (Result types, DI, immutability, pure functions)
|
|
15
|
+
- Critical anti-patterns enforcement (NO FAKE SOLUTIONS, FAIL HONESTLY, BE TRANSPARENT)
|
|
16
|
+
- Code quality enforcement (root cause analysis over workarounds)
|
|
17
|
+
- Architecture documentation standards (document patterns, boundaries, exceptions)
|
|
18
|
+
- Type safety best practices, security requirements, naming conventions
|
|
19
|
+
- Structured as ~330 lines of precise, non-bloated global instructions
|
|
20
|
+
|
|
21
|
+
#### Smart CLAUDE.md Installation
|
|
22
|
+
- **Intelligent mounting logic** - Preserves user's existing global configuration
|
|
23
|
+
- Fresh install: Directly installs CLAUDE.md (no conflicts)
|
|
24
|
+
- Existing CLAUDE.md: Preserves user file, creates CLAUDE.devflow.md with merge instructions
|
|
25
|
+
- `--force` flag: Prompts for confirmation, backs up to .backup before override
|
|
26
|
+
- `-y` flag: Auto-approves prompts for automation/CI/CD workflows
|
|
27
|
+
- Parallel implementation to settings.json (consistent UX across installations)
|
|
28
|
+
- Never overwrites without explicit permission
|
|
29
|
+
|
|
30
|
+
#### TypeScript Auditor Sub-Agent
|
|
31
|
+
- **audit-typescript** - Specialized TypeScript code quality and type safety auditor
|
|
32
|
+
- Conditional execution: Runs only if .ts/.tsx files changed OR tsconfig.json exists
|
|
33
|
+
- Built-in detection logic (gracefully skips non-TypeScript projects)
|
|
34
|
+
- Comprehensive audits: type safety config, `any` usage, type assertions, branded types
|
|
35
|
+
- Advanced patterns: discriminated unions, immutability, Result types
|
|
36
|
+
- Code quality: naming conventions, dependency injection, pure functions
|
|
37
|
+
- Severity-based reporting (CRITICAL/HIGH/MEDIUM/LOW) with file:line references
|
|
38
|
+
- Integrated into `/pre-commit` and `/pre-pr` workflows
|
|
39
|
+
|
|
40
|
+
#### Release Automation Workflow
|
|
41
|
+
- **`/release` command** - Project-agnostic release automation for professional releases
|
|
42
|
+
- Multi-step interactive workflow with user confirmations
|
|
43
|
+
- Preview changes before committing, pushing, or publishing
|
|
44
|
+
- Clear rollback instructions if any step fails
|
|
45
|
+
- Comprehensive final summary with verification links
|
|
46
|
+
|
|
47
|
+
- **release sub-agent** - Specialized agent for safe, automated release management
|
|
48
|
+
- Universal project detection (10+ ecosystems supported)
|
|
49
|
+
- Intelligent version bumping based on conventional commit analysis
|
|
50
|
+
- Auto-generated changelogs from git history
|
|
51
|
+
- Built-in safety checks (clean directory, builds, tests)
|
|
52
|
+
- Platform integration (creates GitHub/GitLab releases via gh/glab)
|
|
53
|
+
|
|
54
|
+
#### Supported Release Ecosystems
|
|
55
|
+
- Node.js (package.json + npm)
|
|
56
|
+
- Rust (Cargo.toml + cargo)
|
|
57
|
+
- Python (pyproject.toml/setup.py + pip/twine)
|
|
58
|
+
- Go (go.mod + git tags)
|
|
59
|
+
- Ruby (gemspec + gem)
|
|
60
|
+
- PHP (composer.json + composer)
|
|
61
|
+
- Java/Maven (pom.xml + mvn)
|
|
62
|
+
- Java/Gradle (build.gradle + gradle)
|
|
63
|
+
- Swift (Package.swift + git tags)
|
|
64
|
+
- Generic (VERSION file + git tags)
|
|
65
|
+
|
|
66
|
+
#### Release Workflow Steps
|
|
67
|
+
1. Detect project type and configuration
|
|
68
|
+
2. Verify clean working directory
|
|
69
|
+
3. Analyze commits since last release
|
|
70
|
+
4. Generate changelog entry from commit history
|
|
71
|
+
5. Update version files (automatic detection)
|
|
72
|
+
6. Build and test project
|
|
73
|
+
7. Preview changes and await user confirmation
|
|
74
|
+
8. Commit version bump
|
|
75
|
+
9. Push to remote repository
|
|
76
|
+
10. Publish to package registry (npm, crates.io, PyPI, etc.)
|
|
77
|
+
11. Create annotated git tag
|
|
78
|
+
12. Create platform release (GitHub/GitLab)
|
|
79
|
+
13. Provide verification links and next steps
|
|
80
|
+
|
|
81
|
+
### Changed
|
|
82
|
+
- **Pre-commit workflow** - Integrated audit-typescript into 5-agent review
|
|
83
|
+
- Conditionally executes for TypeScript projects
|
|
84
|
+
- No manual configuration needed
|
|
85
|
+
- **Pre-PR workflow** - Integrated audit-typescript into comprehensive review
|
|
86
|
+
- Automatic TypeScript detection and execution
|
|
87
|
+
- Preserves existing audit orchestration patterns
|
|
88
|
+
|
|
89
|
+
### Documentation
|
|
90
|
+
- Added `/release` command to README commands table
|
|
91
|
+
- Added `release` sub-agent to README sub-agents table
|
|
92
|
+
- Added `audit-typescript` sub-agent to README sub-agents table
|
|
93
|
+
- Created "Creating a Release" workflow section in README
|
|
94
|
+
- Documented smart CLAUDE.md installation behavior
|
|
95
|
+
- Included release automation in integration examples
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## [0.2.0] - 2025-10-16
|
|
99
|
+
|
|
100
|
+
### Added
|
|
101
|
+
- **audit-documentation sub-agent** - Ensures documentation stays aligned with code
|
|
102
|
+
- Validates README accuracy (installation, usage, examples)
|
|
103
|
+
- Checks API documentation matches actual function signatures
|
|
104
|
+
- Detects stale code comments and commented-out code
|
|
105
|
+
- Verifies code examples actually work
|
|
106
|
+
- Language-agnostic documentation pattern detection
|
|
107
|
+
- Severity-based reporting (CRITICAL/HIGH/MEDIUM/LOW)
|
|
108
|
+
- **Smart settings.json management** - 3-tier backup strategy prevents data loss
|
|
109
|
+
- First install: Direct installation
|
|
110
|
+
- Existing settings: Backup to managed-settings.json
|
|
111
|
+
- Both exist: Save as settings.devflow.json with clear instructions
|
|
112
|
+
- User maintains control of their configuration
|
|
113
|
+
- **Surgical test execution** - Prevents Claude Code session crashes
|
|
114
|
+
- Static analysis by default (80% value, 0% crash risk)
|
|
115
|
+
- Smart test selection based on git changes
|
|
116
|
+
- Individual test file execution with 30s timeouts
|
|
117
|
+
- Max 10 test files per run with resource limits
|
|
118
|
+
- Early termination on repeated error patterns
|
|
119
|
+
- **Language-agnostic agents** - Works with any programming language
|
|
120
|
+
- Auto-detection for 9+ package managers
|
|
121
|
+
- Universal ORM and database patterns
|
|
122
|
+
- Smart test command detection from manifests
|
|
123
|
+
- Generic file search patterns for all ecosystems
|
|
124
|
+
|
|
125
|
+
### Changed
|
|
126
|
+
- **Pre-commit strategy** - Lightweight 5-agent review for fast feedback
|
|
127
|
+
- Core audits: Security, Performance, Architecture, Tests, Complexity
|
|
128
|
+
- Typical execution: 30-60 seconds
|
|
129
|
+
- Additional audits available on explicit request
|
|
130
|
+
- **Pre-pr strategy** - Comprehensive 7-8 agent review
|
|
131
|
+
- All core audits plus Dependencies and Documentation
|
|
132
|
+
- Conditional Database audit (only if DB files changed)
|
|
133
|
+
- Typical execution: 2-3 minutes
|
|
134
|
+
- Thorough branch review before PR creation
|
|
135
|
+
- **Path handling** - No longer assumes HOME environment variable
|
|
136
|
+
- Uses Node.js homedir() as fallback
|
|
137
|
+
- Environment variable overrides: CLAUDE_CODE_DIR, DEVFLOW_DIR
|
|
138
|
+
- Cross-platform compatibility improvements
|
|
139
|
+
|
|
140
|
+
### Fixed
|
|
141
|
+
- **Git lock file conflicts** - Wait-based prevention instead of deletion
|
|
142
|
+
- Implemented wait_for_lock_release() with 10s timeout
|
|
143
|
+
- Explicit wait commands after each git operation
|
|
144
|
+
- Command substitution patterns for synchronous execution
|
|
145
|
+
- Prevents zombie process lock file issues
|
|
146
|
+
- No more `.git/index.lock` errors
|
|
147
|
+
- **Settings overwrite issue** - User settings preserved with backup strategy
|
|
148
|
+
- **Hardcoded path assumptions** - Proper fallbacks and environment overrides
|
|
149
|
+
|
|
150
|
+
### Documentation
|
|
151
|
+
- Added audit-documentation to sub-agents table in README
|
|
152
|
+
- Clarified audit strategies for pre-commit vs pre-pr
|
|
153
|
+
- Updated workflow examples with refined command usage
|
|
154
|
+
|
|
8
155
|
## [0.1.2] - 2025-10-05
|
|
9
156
|
|
|
10
157
|
### Added
|
|
@@ -91,6 +238,8 @@ devflow init
|
|
|
91
238
|
|
|
92
239
|
---
|
|
93
240
|
|
|
241
|
+
[0.3.0]: https://github.com/dean0x/devflow/releases/tag/v0.3.0
|
|
242
|
+
[0.2.0]: https://github.com/dean0x/devflow/releases/tag/v0.2.0
|
|
94
243
|
[0.1.2]: https://github.com/dean0x/devflow/releases/tag/v0.1.2
|
|
95
244
|
[0.1.1]: https://github.com/dean0x/devflow/releases/tag/v0.1.1
|
|
96
|
-
[0.1.0]: https://github.com/dean0x/devflow/releases/tag/v0.1.0
|
|
245
|
+
[0.1.0]: https://github.com/dean0x/devflow/releases/tag/v0.1.0
|
package/README.md
CHANGED
|
@@ -25,6 +25,7 @@ That's it! DevFlow is now installed and ready to use in Claude Code.
|
|
|
25
25
|
| `/pre-commit` | Review uncommitted changes using specialized sub-agents | Before committing |
|
|
26
26
|
| `/commit` | Intelligent atomic commit creation with safety checks | When ready to commit |
|
|
27
27
|
| `/pre-pr` | Comprehensive branch review for PR readiness | Before creating PR |
|
|
28
|
+
| `/release` | Automated release workflow with version management and publishing | Creating a new release |
|
|
28
29
|
|
|
29
30
|
### ๐ค Sub-Agents
|
|
30
31
|
|
|
@@ -33,13 +34,15 @@ That's it! DevFlow is now installed and ready to use in Claude Code.
|
|
|
33
34
|
| `audit-security` | Security Analysis | Expert vulnerability detection and security code review |
|
|
34
35
|
| `audit-performance` | Performance | Optimization and bottleneck detection |
|
|
35
36
|
| `audit-architecture` | Architecture | Design pattern analysis and code structure review |
|
|
36
|
-
| `audit-tests` | Testing | Test quality, coverage, and effectiveness analysis |
|
|
37
|
-
| `audit-dependencies` | Dependencies | Dependency management and security analysis |
|
|
37
|
+
| `audit-tests` | Testing | Test quality, coverage, and effectiveness analysis (surgical execution) |
|
|
38
38
|
| `audit-complexity` | Complexity | Code complexity and maintainability assessment |
|
|
39
|
+
| `audit-dependencies` | Dependencies | Dependency management and security analysis |
|
|
39
40
|
| `audit-database` | Database | Database design and optimization review |
|
|
41
|
+
| `audit-documentation` | Documentation | Docs-code alignment, API accuracy, comment quality |
|
|
40
42
|
| `catch-up` | Context Restoration | Project status and context restoration with validation |
|
|
41
43
|
| `commit` | Git Operations | Intelligent commit creation with safety checks |
|
|
42
44
|
| `research` | Implementation Planning | Pre-implementation research, approach analysis, and planning |
|
|
45
|
+
| `release` | Release Automation | Project-agnostic release workflow with version management |
|
|
43
46
|
|
|
44
47
|
**How Sub-Agents Work:**
|
|
45
48
|
- Specialized AI assistants with deep expertise in specific domains
|
|
@@ -103,6 +106,16 @@ Covers patterns for all major languages and operating systems.
|
|
|
103
106
|
2. `/pre-pr` - Review branch before creating PR
|
|
104
107
|
3. `/commit` - Final commits with validation
|
|
105
108
|
|
|
109
|
+
### Creating a Release
|
|
110
|
+
1. `/pre-pr` - Comprehensive branch review
|
|
111
|
+
2. `/release` - Automated release workflow
|
|
112
|
+
- Detects project type (Node.js, Rust, Python, Go, etc.)
|
|
113
|
+
- Analyzes commits and suggests version bump
|
|
114
|
+
- Generates changelog from git history
|
|
115
|
+
- Builds and tests before publishing
|
|
116
|
+
- Creates git tags and platform releases
|
|
117
|
+
3. Verify package in registry
|
|
118
|
+
|
|
106
119
|
### When Things Go Wrong
|
|
107
120
|
1. Check git log and recent commits
|
|
108
121
|
2. `/debug [issue description]` - Structured debugging
|
|
@@ -153,6 +166,7 @@ git commit -m "Session status: completed user auth feature"
|
|
|
153
166
|
/pre-commit # Review uncommitted changes
|
|
154
167
|
/commit # Create atomic commits
|
|
155
168
|
/pre-pr # Branch review before PR
|
|
169
|
+
/release # Automated release workflow
|
|
156
170
|
/debug "TypeError in auth module" # Debug specific issue
|
|
157
171
|
```
|
|
158
172
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+DpC,eAAO,MAAM,WAAW,SAqfpB,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,26 +1,87 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { promises as fs } from 'fs';
|
|
3
3
|
import * as path from 'path';
|
|
4
|
+
import { homedir } from 'os';
|
|
4
5
|
import { execSync } from 'child_process';
|
|
5
6
|
import { fileURLToPath } from 'url';
|
|
6
7
|
import { dirname } from 'path';
|
|
8
|
+
import * as readline from 'readline';
|
|
7
9
|
const __filename = fileURLToPath(import.meta.url);
|
|
8
10
|
const __dirname = dirname(__filename);
|
|
11
|
+
/**
|
|
12
|
+
* Get home directory with proper fallback and validation
|
|
13
|
+
* Priority: process.env.HOME > os.homedir()
|
|
14
|
+
*/
|
|
15
|
+
function getHomeDirectory() {
|
|
16
|
+
const home = process.env.HOME || homedir();
|
|
17
|
+
if (!home) {
|
|
18
|
+
throw new Error('Unable to determine home directory. Set HOME environment variable.');
|
|
19
|
+
}
|
|
20
|
+
return home;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get Claude Code directory with environment variable override support
|
|
24
|
+
* Priority: CLAUDE_CODE_DIR env var > ~/.claude
|
|
25
|
+
*/
|
|
26
|
+
function getClaudeDirectory() {
|
|
27
|
+
if (process.env.CLAUDE_CODE_DIR) {
|
|
28
|
+
return process.env.CLAUDE_CODE_DIR;
|
|
29
|
+
}
|
|
30
|
+
return path.join(getHomeDirectory(), '.claude');
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get DevFlow directory with environment variable override support
|
|
34
|
+
* Priority: DEVFLOW_DIR env var > ~/.devflow
|
|
35
|
+
*/
|
|
36
|
+
function getDevFlowDirectory() {
|
|
37
|
+
if (process.env.DEVFLOW_DIR) {
|
|
38
|
+
return process.env.DEVFLOW_DIR;
|
|
39
|
+
}
|
|
40
|
+
return path.join(getHomeDirectory(), '.devflow');
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Prompt user for confirmation (async)
|
|
44
|
+
*/
|
|
45
|
+
async function promptUser(question) {
|
|
46
|
+
const rl = readline.createInterface({
|
|
47
|
+
input: process.stdin,
|
|
48
|
+
output: process.stdout
|
|
49
|
+
});
|
|
50
|
+
return new Promise((resolve) => {
|
|
51
|
+
rl.question(question, (answer) => {
|
|
52
|
+
rl.close();
|
|
53
|
+
resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
}
|
|
9
57
|
export const initCommand = new Command('init')
|
|
10
58
|
.description('Initialize DevFlow for Claude Code')
|
|
11
59
|
.option('--skip-docs', 'Skip creating .docs/ structure')
|
|
60
|
+
.option('--force', 'Override existing settings.json and CLAUDE.md (prompts for confirmation)')
|
|
61
|
+
.option('-y, --yes', 'Auto-approve all prompts (use with --force)')
|
|
12
62
|
.action(async (options) => {
|
|
13
63
|
console.log('๐ DevFlow - Agentic Development Toolkit');
|
|
14
64
|
console.log(' Intelligent tools for reliable AI-assisted development\n');
|
|
65
|
+
// Get installation paths with proper validation
|
|
66
|
+
let claudeDir;
|
|
67
|
+
let devflowDir;
|
|
68
|
+
try {
|
|
69
|
+
claudeDir = getClaudeDirectory();
|
|
70
|
+
devflowDir = getDevFlowDirectory();
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
console.error('โ Path configuration error:', error instanceof Error ? error.message : error);
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
15
76
|
// Check for Claude Code
|
|
16
|
-
const claudeDir = path.join(process.env.HOME || '', '.claude');
|
|
17
77
|
try {
|
|
18
78
|
await fs.access(claudeDir);
|
|
19
|
-
console.log(
|
|
79
|
+
console.log(`๐ Detected Claude Code at ${claudeDir} โ
\n`);
|
|
20
80
|
}
|
|
21
81
|
catch {
|
|
22
|
-
console.error(
|
|
82
|
+
console.error(`โ Claude Code not detected at ${claudeDir}`);
|
|
23
83
|
console.error('\nInstall Claude Code from: https://claude.com/claude-code');
|
|
84
|
+
console.error('\nOr set CLAUDE_CODE_DIR environment variable if installed elsewhere.');
|
|
24
85
|
process.exit(1);
|
|
25
86
|
}
|
|
26
87
|
console.log('๐ ๏ธ Installing DevFlow for Claude Code...');
|
|
@@ -32,7 +93,7 @@ export const initCommand = new Command('init')
|
|
|
32
93
|
console.log(' ๐งน Cleaning old DevFlow files...');
|
|
33
94
|
const commandsDevflowDir = path.join(claudeDir, 'commands', 'devflow');
|
|
34
95
|
const agentsDevflowDir = path.join(claudeDir, 'agents', 'devflow');
|
|
35
|
-
const devflowScriptsDir = path.join(
|
|
96
|
+
const devflowScriptsDir = path.join(devflowDir, 'scripts');
|
|
36
97
|
// Remove old DevFlow subdirectories (not entire commands/agents folders)
|
|
37
98
|
try {
|
|
38
99
|
await fs.rm(commandsDevflowDir, { recursive: true, force: true });
|
|
@@ -59,10 +120,170 @@ export const initCommand = new Command('init')
|
|
|
59
120
|
for (const script of scripts) {
|
|
60
121
|
await fs.chmod(path.join(devflowScriptsDir, script), 0o755);
|
|
61
122
|
}
|
|
62
|
-
//
|
|
123
|
+
// Handle --force flag
|
|
124
|
+
let forceOverride = false;
|
|
125
|
+
if (options.force) {
|
|
126
|
+
if (options.yes) {
|
|
127
|
+
console.log(' โ ๏ธ Force override enabled with auto-approval (-y flag)\n');
|
|
128
|
+
forceOverride = true;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
console.log(' โ ๏ธ WARNING: --force flag will override existing settings.json and CLAUDE.md\n');
|
|
132
|
+
console.log(' This will:');
|
|
133
|
+
console.log(' โข Replace ~/.claude/settings.json with DevFlow settings');
|
|
134
|
+
console.log(' โข Replace ~/.claude/CLAUDE.md with DevFlow global instructions\n');
|
|
135
|
+
forceOverride = await promptUser(' Do you want to proceed? (y/N): ');
|
|
136
|
+
console.log();
|
|
137
|
+
if (!forceOverride) {
|
|
138
|
+
console.log(' โ Force override cancelled. Proceeding with safe installation.\n');
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
console.log(' โ
Force override approved. Proceeding...\n');
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// Install settings with smart backup
|
|
63
146
|
console.log(' โ๏ธ Installing settings...');
|
|
64
|
-
|
|
147
|
+
const settingsPath = path.join(claudeDir, 'settings.json');
|
|
148
|
+
const managedSettingsPath = path.join(claudeDir, 'managed-settings.json');
|
|
149
|
+
const devflowSettingsPath = path.join(claudeDir, 'settings.devflow.json');
|
|
150
|
+
const sourceSettingsPath = path.join(claudeSourceDir, 'settings.json');
|
|
151
|
+
let settingsAction = '';
|
|
152
|
+
if (forceOverride) {
|
|
153
|
+
// Force override - backup existing and install
|
|
154
|
+
try {
|
|
155
|
+
await fs.access(settingsPath);
|
|
156
|
+
await fs.rename(settingsPath, path.join(claudeDir, 'settings.json.backup'));
|
|
157
|
+
console.log(' ๐พ Existing settings backed up to: settings.json.backup');
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
// No existing file
|
|
161
|
+
}
|
|
162
|
+
await fs.copyFile(sourceSettingsPath, settingsPath);
|
|
163
|
+
settingsAction = 'force-installed';
|
|
164
|
+
console.log(' โ
DevFlow settings force-installed to: settings.json');
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
// Safe installation logic
|
|
168
|
+
try {
|
|
169
|
+
// Check if user has existing settings.json
|
|
170
|
+
await fs.access(settingsPath);
|
|
171
|
+
// User has settings.json - need to preserve it
|
|
172
|
+
try {
|
|
173
|
+
// Check if managed-settings.json already exists
|
|
174
|
+
await fs.access(managedSettingsPath);
|
|
175
|
+
// managed-settings.json exists - install as settings.devflow.json
|
|
176
|
+
await fs.copyFile(sourceSettingsPath, devflowSettingsPath);
|
|
177
|
+
settingsAction = 'saved-as-devflow';
|
|
178
|
+
console.log(' โ ๏ธ Your existing settings.json is preserved');
|
|
179
|
+
console.log(' ๐ DevFlow settings saved to: settings.devflow.json');
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
// managed-settings.json doesn't exist - safe to backup and install
|
|
183
|
+
await fs.rename(settingsPath, managedSettingsPath);
|
|
184
|
+
await fs.copyFile(sourceSettingsPath, settingsPath);
|
|
185
|
+
settingsAction = 'backed-up';
|
|
186
|
+
console.log(' ๐พ Your settings backed up to: managed-settings.json');
|
|
187
|
+
console.log(' โ
DevFlow settings installed to: settings.json');
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
// No existing settings.json - install normally
|
|
192
|
+
await fs.copyFile(sourceSettingsPath, settingsPath);
|
|
193
|
+
settingsAction = 'fresh-install';
|
|
194
|
+
console.log(' โ
DevFlow settings installed to: settings.json');
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
// Install CLAUDE.md with smart backup
|
|
198
|
+
console.log(' ๐ Installing global CLAUDE.md...');
|
|
199
|
+
const claudeMdPath = path.join(claudeDir, 'CLAUDE.md');
|
|
200
|
+
const devflowClaudeMdPath = path.join(claudeDir, 'CLAUDE.devflow.md');
|
|
201
|
+
const sourceClaudeMdPath = path.join(claudeSourceDir, 'CLAUDE.md');
|
|
202
|
+
let claudeMdAction = '';
|
|
203
|
+
if (forceOverride) {
|
|
204
|
+
// Force override - backup existing and install
|
|
205
|
+
try {
|
|
206
|
+
await fs.access(claudeMdPath);
|
|
207
|
+
await fs.rename(claudeMdPath, path.join(claudeDir, 'CLAUDE.md.backup'));
|
|
208
|
+
console.log(' ๐พ Existing CLAUDE.md backed up to: CLAUDE.md.backup');
|
|
209
|
+
}
|
|
210
|
+
catch {
|
|
211
|
+
// No existing file
|
|
212
|
+
}
|
|
213
|
+
await fs.copyFile(sourceClaudeMdPath, claudeMdPath);
|
|
214
|
+
claudeMdAction = 'force-installed';
|
|
215
|
+
console.log(' โ
DevFlow CLAUDE.md force-installed');
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
// Safe installation logic
|
|
219
|
+
try {
|
|
220
|
+
// Check if user has existing CLAUDE.md
|
|
221
|
+
await fs.access(claudeMdPath);
|
|
222
|
+
// User has CLAUDE.md - install as CLAUDE.devflow.md
|
|
223
|
+
await fs.copyFile(sourceClaudeMdPath, devflowClaudeMdPath);
|
|
224
|
+
claudeMdAction = 'saved-as-devflow';
|
|
225
|
+
console.log(' โ ๏ธ Your existing CLAUDE.md is preserved');
|
|
226
|
+
console.log(' ๐ DevFlow CLAUDE.md saved to: CLAUDE.devflow.md');
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
// No existing CLAUDE.md - install normally
|
|
230
|
+
await fs.copyFile(sourceClaudeMdPath, claudeMdPath);
|
|
231
|
+
claudeMdAction = 'fresh-install';
|
|
232
|
+
console.log(' โ
DevFlow CLAUDE.md installed');
|
|
233
|
+
}
|
|
234
|
+
}
|
|
65
235
|
console.log(' โ
Claude Code installation complete\n');
|
|
236
|
+
// Show settings instructions if needed
|
|
237
|
+
if (settingsAction === 'saved-as-devflow') {
|
|
238
|
+
console.log('โ๏ธ SETTINGS CONFIGURATION REQUIRED:\n');
|
|
239
|
+
console.log(' Your existing settings.json was preserved because managed-settings.json');
|
|
240
|
+
console.log(' already exists. DevFlow settings are in settings.devflow.json\n');
|
|
241
|
+
console.log(` To use DevFlow settings (statusline), manually merge into ${settingsPath}:`);
|
|
242
|
+
console.log(' ```json');
|
|
243
|
+
console.log(' {');
|
|
244
|
+
console.log(' "statusLine": {');
|
|
245
|
+
console.log(' "type": "command",');
|
|
246
|
+
console.log(` "command": "${path.join(devflowDir, 'scripts', 'statusline.sh')}"`);
|
|
247
|
+
console.log(' }');
|
|
248
|
+
console.log(' }');
|
|
249
|
+
console.log(' ```\n');
|
|
250
|
+
}
|
|
251
|
+
else if (settingsAction === 'backed-up') {
|
|
252
|
+
console.log('๐พ SETTINGS BACKUP:\n');
|
|
253
|
+
console.log(` Your original settings saved to: ${managedSettingsPath}`);
|
|
254
|
+
console.log(` DevFlow settings now active in: ${settingsPath}`);
|
|
255
|
+
console.log(` To restore: mv ${managedSettingsPath} ${settingsPath}\n`);
|
|
256
|
+
}
|
|
257
|
+
else if (settingsAction === 'force-installed') {
|
|
258
|
+
console.log('โ ๏ธ FORCE OVERRIDE APPLIED:\n');
|
|
259
|
+
console.log(` Your original settings backed up to: ${path.join(claudeDir, 'settings.json.backup')}`);
|
|
260
|
+
console.log(` DevFlow settings now active in: ${settingsPath}\n`);
|
|
261
|
+
}
|
|
262
|
+
// Show CLAUDE.md instructions if needed
|
|
263
|
+
if (claudeMdAction === 'saved-as-devflow') {
|
|
264
|
+
console.log('๐ CLAUDE.MD CONFIGURATION REQUIRED:\n');
|
|
265
|
+
console.log(' Your existing CLAUDE.md was preserved.');
|
|
266
|
+
console.log(` DevFlow global instructions are in: ${devflowClaudeMdPath}\n`);
|
|
267
|
+
console.log(' To use DevFlow global instructions, manually merge into your CLAUDE.md:');
|
|
268
|
+
console.log(' โข Engineering Principles (Result types, DI, immutability)');
|
|
269
|
+
console.log(' โข Critical Anti-Patterns (NO FAKE SOLUTIONS, FAIL HONESTLY)');
|
|
270
|
+
console.log(' โข Code Quality Enforcement (root cause analysis)');
|
|
271
|
+
console.log(' โข Type Safety Best Practices (language-agnostic)');
|
|
272
|
+
console.log(' โข Architecture Documentation (inline docs)\n');
|
|
273
|
+
console.log(` Or replace entirely: cp ${devflowClaudeMdPath} ${claudeMdPath}\n`);
|
|
274
|
+
}
|
|
275
|
+
else if (claudeMdAction === 'fresh-install') {
|
|
276
|
+
console.log('๐ CLAUDE.MD INSTALLED:\n');
|
|
277
|
+
console.log(` DevFlow global instructions active in: ${claudeMdPath}`);
|
|
278
|
+
console.log(' โข Language-agnostic engineering principles');
|
|
279
|
+
console.log(' โข Critical anti-patterns and foolishness prevention');
|
|
280
|
+
console.log(' โข Code quality enforcement rules\n');
|
|
281
|
+
}
|
|
282
|
+
else if (claudeMdAction === 'force-installed') {
|
|
283
|
+
console.log('โ ๏ธ CLAUDE.MD FORCE OVERRIDE APPLIED:\n');
|
|
284
|
+
console.log(` Your original CLAUDE.md backed up to: ${path.join(claudeDir, 'CLAUDE.md.backup')}`);
|
|
285
|
+
console.log(` DevFlow global instructions now active in: ${claudeMdPath}\n`);
|
|
286
|
+
}
|
|
66
287
|
// Create .claudeignore in git repository root
|
|
67
288
|
try {
|
|
68
289
|
// Find git repository root
|
|
@@ -298,10 +519,11 @@ Pipfile.lock
|
|
|
298
519
|
console.log('\nโ
DevFlow installation complete!\n');
|
|
299
520
|
console.log('๐ฏ WHAT\'S INSTALLED:');
|
|
300
521
|
console.log(' ๐ Claude Code:');
|
|
301
|
-
console.log(
|
|
302
|
-
console.log(
|
|
303
|
-
console.log(
|
|
304
|
-
console.log(
|
|
522
|
+
console.log(` โข Commands: ${path.join(claudeDir, 'commands')}/`);
|
|
523
|
+
console.log(` โข Sub-agents: ${path.join(claudeDir, 'agents')}/`);
|
|
524
|
+
console.log(` โข Scripts: ${path.join(devflowDir, 'scripts')}/`);
|
|
525
|
+
console.log(` โข Settings: ${settingsPath} (statusline and model)`);
|
|
526
|
+
console.log(` โข Global Instructions: ${claudeMdPath} (language-agnostic)\n`);
|
|
305
527
|
console.log('๐ SMART STATUSLINE:');
|
|
306
528
|
console.log(' โ
Statusline configured');
|
|
307
529
|
console.log(' โข Shows project context, git status, session cost, and duration\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCpC,eAAO,MAAM,gBAAgB,SAgFzB,CAAC"}
|
|
@@ -1,13 +1,53 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { promises as fs } from 'fs';
|
|
3
3
|
import * as path from 'path';
|
|
4
|
+
import { homedir } from 'os';
|
|
5
|
+
/**
|
|
6
|
+
* Get home directory with proper fallback and validation
|
|
7
|
+
* Priority: process.env.HOME > os.homedir()
|
|
8
|
+
*/
|
|
9
|
+
function getHomeDirectory() {
|
|
10
|
+
const home = process.env.HOME || homedir();
|
|
11
|
+
if (!home) {
|
|
12
|
+
throw new Error('Unable to determine home directory. Set HOME environment variable.');
|
|
13
|
+
}
|
|
14
|
+
return home;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get Claude Code directory with environment variable override support
|
|
18
|
+
* Priority: CLAUDE_CODE_DIR env var > ~/.claude
|
|
19
|
+
*/
|
|
20
|
+
function getClaudeDirectory() {
|
|
21
|
+
if (process.env.CLAUDE_CODE_DIR) {
|
|
22
|
+
return process.env.CLAUDE_CODE_DIR;
|
|
23
|
+
}
|
|
24
|
+
return path.join(getHomeDirectory(), '.claude');
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get DevFlow directory with environment variable override support
|
|
28
|
+
* Priority: DEVFLOW_DIR env var > ~/.devflow
|
|
29
|
+
*/
|
|
30
|
+
function getDevFlowDirectory() {
|
|
31
|
+
if (process.env.DEVFLOW_DIR) {
|
|
32
|
+
return process.env.DEVFLOW_DIR;
|
|
33
|
+
}
|
|
34
|
+
return path.join(getHomeDirectory(), '.devflow');
|
|
35
|
+
}
|
|
4
36
|
export const uninstallCommand = new Command('uninstall')
|
|
5
37
|
.description('Uninstall DevFlow from Claude Code')
|
|
6
38
|
.option('--keep-docs', 'Keep .docs/ directory and documentation')
|
|
7
39
|
.action(async (options) => {
|
|
8
40
|
console.log('๐งน Uninstalling DevFlow...\n');
|
|
9
|
-
|
|
10
|
-
|
|
41
|
+
let claudeDir;
|
|
42
|
+
let devflowScriptsDir;
|
|
43
|
+
try {
|
|
44
|
+
claudeDir = getClaudeDirectory();
|
|
45
|
+
devflowScriptsDir = getDevFlowDirectory();
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error('โ Path configuration error:', error instanceof Error ? error.message : error);
|
|
49
|
+
process.exit(1);
|
|
50
|
+
}
|
|
11
51
|
let hasErrors = false;
|
|
12
52
|
// Remove commands
|
|
13
53
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;KACrD,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,aAAa,EAAE,yCAAyC,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAE5C,
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED