den-github-manager 1.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/CHANGELOG.md +41 -0
- package/CONTRIBUTING.md +91 -0
- package/LICENSE +21 -0
- package/PRE_PUBLISH_CHECKLIST.md +165 -0
- package/README.md +307 -0
- package/bin/den.js +69 -0
- package/docs/backlog.md +78 -0
- package/package.json +59 -0
- package/scripts/pre-publish-test.sh +122 -0
- package/src/commands/analyze.js +35 -0
- package/src/commands/config.js +42 -0
- package/src/commands/init.js +224 -0
- package/src/commands/templates.js +71 -0
- package/src/core/analyzer.js +266 -0
- package/src/core/generator.js +199 -0
- package/src/core/github-client.js +246 -0
- package/src/core/template-manager.js +23 -0
- package/src/index.js +6 -0
- package/src/utils/config.js +57 -0
- package/src/utils/logger.js +49 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.0.0] - 2026-02-06
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Initial release of den-github-manager
|
|
12
|
+
- Project analyzer to detect structure and status
|
|
13
|
+
- Backlog generator with 4 templates (Simple, Startup, Agile, Enterprise)
|
|
14
|
+
- GitHub integration for milestones, labels, and issues creation
|
|
15
|
+
- Interactive CLI with `init`, `analyze`, `templates`, and `config` commands
|
|
16
|
+
- Auto-mode for CI/CD integration
|
|
17
|
+
- Dry-run support for testing
|
|
18
|
+
- Configuration management
|
|
19
|
+
- Comprehensive README and documentation
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
- Smart project analysis
|
|
23
|
+
- Template-based backlog generation
|
|
24
|
+
- Automatic GitHub setup
|
|
25
|
+
- Multiple templates for different project types
|
|
26
|
+
- Works with new and existing projects
|
|
27
|
+
|
|
28
|
+
### Templates
|
|
29
|
+
- Simple: 3 milestones, ~10 issues
|
|
30
|
+
- Startup MVP: 4 milestones, ~30 issues
|
|
31
|
+
- Agile/Scrum: Sprint-based
|
|
32
|
+
- Enterprise: 5+ phases
|
|
33
|
+
|
|
34
|
+
## [Unreleased]
|
|
35
|
+
|
|
36
|
+
### Planned
|
|
37
|
+
- Project board auto-creation
|
|
38
|
+
- AI-powered backlog generation
|
|
39
|
+
- Multi-repo support
|
|
40
|
+
- Web UI
|
|
41
|
+
- GitHub Actions integration
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Contributing to Den GitHub Manager
|
|
2
|
+
|
|
3
|
+
First off, thank you for considering contributing to Den GitHub Manager! π
|
|
4
|
+
|
|
5
|
+
## How Can I Contribute?
|
|
6
|
+
|
|
7
|
+
### Reporting Bugs
|
|
8
|
+
|
|
9
|
+
Before creating bug reports, please check the issue list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:
|
|
10
|
+
|
|
11
|
+
* Use a clear and descriptive title
|
|
12
|
+
* Describe the exact steps to reproduce the problem
|
|
13
|
+
* Provide specific examples
|
|
14
|
+
* Describe the behavior you observed and what you expected
|
|
15
|
+
* Include screenshots if relevant
|
|
16
|
+
* Include your environment (OS, Node version, etc.)
|
|
17
|
+
|
|
18
|
+
### Suggesting Enhancements
|
|
19
|
+
|
|
20
|
+
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please include:
|
|
21
|
+
|
|
22
|
+
* A clear and descriptive title
|
|
23
|
+
* A detailed description of the proposed functionality
|
|
24
|
+
* Explain why this enhancement would be useful
|
|
25
|
+
* List any alternative solutions you've considered
|
|
26
|
+
|
|
27
|
+
### Pull Requests
|
|
28
|
+
|
|
29
|
+
1. Fork the repo and create your branch from `main`
|
|
30
|
+
2. If you've added code, add tests
|
|
31
|
+
3. Ensure the test suite passes
|
|
32
|
+
4. Make sure your code lints
|
|
33
|
+
5. Issue that pull request!
|
|
34
|
+
|
|
35
|
+
## Development Setup
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Clone your fork
|
|
39
|
+
git clone https://github.com/YOUR_USERNAME/den-github-manager.git
|
|
40
|
+
cd den-github-manager
|
|
41
|
+
|
|
42
|
+
# Install dependencies
|
|
43
|
+
npm install
|
|
44
|
+
|
|
45
|
+
# Run in development
|
|
46
|
+
npm start -- init
|
|
47
|
+
|
|
48
|
+
# Run tests
|
|
49
|
+
npm test
|
|
50
|
+
|
|
51
|
+
# Lint
|
|
52
|
+
npm run lint
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Project Structure
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
src/
|
|
59
|
+
βββ commands/ # CLI commands
|
|
60
|
+
βββ core/ # Core functionality
|
|
61
|
+
βββ utils/ # Utilities
|
|
62
|
+
|
|
63
|
+
bin/ # CLI executable
|
|
64
|
+
templates/ # Project templates
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Coding Standards
|
|
68
|
+
|
|
69
|
+
* Use ES modules (import/export)
|
|
70
|
+
* Follow existing code style
|
|
71
|
+
* Add JSDoc comments for public APIs
|
|
72
|
+
* Write meaningful commit messages
|
|
73
|
+
|
|
74
|
+
## Commit Messages
|
|
75
|
+
|
|
76
|
+
* Use the present tense ("Add feature" not "Added feature")
|
|
77
|
+
* Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
|
|
78
|
+
* Limit the first line to 72 characters
|
|
79
|
+
* Reference issues and pull requests
|
|
80
|
+
|
|
81
|
+
## Testing
|
|
82
|
+
|
|
83
|
+
* Write tests for new features
|
|
84
|
+
* Ensure all tests pass before submitting PR
|
|
85
|
+
* Aim for high code coverage
|
|
86
|
+
|
|
87
|
+
## Questions?
|
|
88
|
+
|
|
89
|
+
Feel free to open an issue with your question or reach out in Discussions.
|
|
90
|
+
|
|
91
|
+
Thank you! β€οΈ
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Wolfcito (@akawolfcito)
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# Pre-Publish Checklist
|
|
2
|
+
|
|
3
|
+
## β
Pre-Publication Testing
|
|
4
|
+
|
|
5
|
+
### 1. Code Quality
|
|
6
|
+
- [ ] No syntax errors
|
|
7
|
+
- [ ] All imports/exports work
|
|
8
|
+
- [ ] ESLint passes (if configured)
|
|
9
|
+
- [ ] Code is formatted
|
|
10
|
+
|
|
11
|
+
### 2. Dependencies
|
|
12
|
+
- [ ] All dependencies in package.json
|
|
13
|
+
- [ ] No missing imports
|
|
14
|
+
- [ ] Version numbers are correct
|
|
15
|
+
- [ ] Peer dependencies declared
|
|
16
|
+
|
|
17
|
+
### 3. Executable
|
|
18
|
+
- [ ] bin/den.js has correct shebang
|
|
19
|
+
- [ ] bin/den.js is executable (chmod +x)
|
|
20
|
+
- [ ] Runs without errors
|
|
21
|
+
|
|
22
|
+
### 4. Local Testing
|
|
23
|
+
- [ ] `npm link` works
|
|
24
|
+
- [ ] Commands work: init, analyze, templates, config
|
|
25
|
+
- [ ] Test in different project
|
|
26
|
+
- [ ] Works with/without existing backlog
|
|
27
|
+
- [ ] GitHub integration works
|
|
28
|
+
|
|
29
|
+
### 5. Package Metadata
|
|
30
|
+
- [ ] package.json has correct info
|
|
31
|
+
- [ ] README is complete
|
|
32
|
+
- [ ] LICENSE is included
|
|
33
|
+
- [ ] Version number is correct
|
|
34
|
+
- [ ] Keywords are relevant
|
|
35
|
+
|
|
36
|
+
### 6. Files
|
|
37
|
+
- [ ] .npmignore configured
|
|
38
|
+
- [ ] Only necessary files in package
|
|
39
|
+
- [ ] No sensitive data (tokens, keys)
|
|
40
|
+
|
|
41
|
+
### 7. Documentation
|
|
42
|
+
- [ ] README has examples
|
|
43
|
+
- [ ] Installation instructions clear
|
|
44
|
+
- [ ] Usage examples work
|
|
45
|
+
- [ ] All commands documented
|
|
46
|
+
|
|
47
|
+
### 8. Publishing
|
|
48
|
+
- [ ] Logged into npm (`npm whoami`)
|
|
49
|
+
- [ ] Package name available
|
|
50
|
+
- [ ] Git committed and pushed
|
|
51
|
+
- [ ] Tagged version (`git tag v1.0.0`)
|
|
52
|
+
|
|
53
|
+
## π§ͺ Testing Commands
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# 1. Check syntax
|
|
57
|
+
node --check bin/den.js
|
|
58
|
+
|
|
59
|
+
# 2. Install dependencies
|
|
60
|
+
npm install
|
|
61
|
+
|
|
62
|
+
# 3. Link locally
|
|
63
|
+
npm link
|
|
64
|
+
|
|
65
|
+
# 4. Test help
|
|
66
|
+
den --help
|
|
67
|
+
|
|
68
|
+
# 5. Test analyze
|
|
69
|
+
cd ../test-project
|
|
70
|
+
den analyze
|
|
71
|
+
|
|
72
|
+
# 6. Test init (dry-run)
|
|
73
|
+
den init --dry-run
|
|
74
|
+
|
|
75
|
+
# 7. Unlink
|
|
76
|
+
npm unlink -g den-github-manager
|
|
77
|
+
|
|
78
|
+
# 8. Pack and inspect
|
|
79
|
+
npm pack
|
|
80
|
+
tar -xzf den-github-manager-1.0.0.tgz
|
|
81
|
+
ls -la package/
|
|
82
|
+
|
|
83
|
+
# 9. Install from tarball
|
|
84
|
+
npm install -g den-github-manager-1.0.0.tgz
|
|
85
|
+
den --version
|
|
86
|
+
|
|
87
|
+
# 10. Final test
|
|
88
|
+
cd ../another-project
|
|
89
|
+
den init --template simple --dry-run
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## π Publication Steps
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# 1. Ensure everything is committed
|
|
96
|
+
git status
|
|
97
|
+
|
|
98
|
+
# 2. Run tests
|
|
99
|
+
npm test
|
|
100
|
+
|
|
101
|
+
# 3. Build if needed
|
|
102
|
+
npm run build
|
|
103
|
+
|
|
104
|
+
# 4. Check what will be published
|
|
105
|
+
npm pack --dry-run
|
|
106
|
+
|
|
107
|
+
# 5. Login to npm
|
|
108
|
+
npm login
|
|
109
|
+
|
|
110
|
+
# 6. Publish
|
|
111
|
+
npm publish
|
|
112
|
+
|
|
113
|
+
# 7. Verify on npm
|
|
114
|
+
npm view den-github-manager
|
|
115
|
+
|
|
116
|
+
# 8. Create GitHub release
|
|
117
|
+
gh release create v1.0.0 \
|
|
118
|
+
--title "v1.0.0 - Initial Release" \
|
|
119
|
+
--notes "Initial release with MVP functionality"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## π Post-Publish Verification
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Uninstall local version
|
|
126
|
+
npm uninstall -g den-github-manager
|
|
127
|
+
|
|
128
|
+
# Install from npm
|
|
129
|
+
npm install -g den-github-manager
|
|
130
|
+
|
|
131
|
+
# Test
|
|
132
|
+
den --version
|
|
133
|
+
den --help
|
|
134
|
+
den analyze
|
|
135
|
+
|
|
136
|
+
# Test in real project
|
|
137
|
+
cd ~/projects/my-app
|
|
138
|
+
den init --dry-run
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## β Common Issues
|
|
142
|
+
|
|
143
|
+
### Shebang not working
|
|
144
|
+
```bash
|
|
145
|
+
chmod +x bin/den.js
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Module not found
|
|
149
|
+
- Check all imports use `.js` extension
|
|
150
|
+
- Verify package.json has `"type": "module"`
|
|
151
|
+
|
|
152
|
+
### Command not found after install
|
|
153
|
+
- Check `bin` field in package.json
|
|
154
|
+
- Verify executable permissions
|
|
155
|
+
|
|
156
|
+
### GitHub integration fails
|
|
157
|
+
- Ensure `gh` CLI is installed
|
|
158
|
+
- Check `gh auth status`
|
|
159
|
+
|
|
160
|
+
## π Notes
|
|
161
|
+
|
|
162
|
+
- First publication cannot be unpublished after 72 hours
|
|
163
|
+
- Choose package name carefully
|
|
164
|
+
- Test thoroughly before publishing
|
|
165
|
+
- Version numbers cannot be reused
|
package/README.md
ADDED
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
# π¦ Den GitHub Manager
|
|
2
|
+
|
|
3
|
+
> Automate your GitHub Projects setup in minutes. Analyze projects, generate backlogs, and configure milestones, issues, and project boards - all from the command line.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/den-github-manager)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
## β¨ Features
|
|
9
|
+
|
|
10
|
+
- π **Smart Analysis** - Automatically analyzes your project structure
|
|
11
|
+
- π **Auto-Generate Backlog** - Creates backlog from your codebase if none exists
|
|
12
|
+
- π¨ **Multiple Templates** - Simple, Startup MVP, Agile, Enterprise
|
|
13
|
+
- π **One Command Setup** - Configure everything in minutes
|
|
14
|
+
- πΎ **Reusable** - Works with any project, new or existing
|
|
15
|
+
- π€ **GitHub Integration** - Creates milestones, issues, labels automatically
|
|
16
|
+
|
|
17
|
+
## π Quick Start
|
|
18
|
+
|
|
19
|
+
### Install
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Global installation
|
|
23
|
+
npm install -g den-github-manager
|
|
24
|
+
|
|
25
|
+
# Or use with npx (no installation needed)
|
|
26
|
+
npx den-github-manager init
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Basic Usage
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Navigate to your project
|
|
33
|
+
cd my-project
|
|
34
|
+
|
|
35
|
+
# Initialize GitHub project setup
|
|
36
|
+
den init
|
|
37
|
+
|
|
38
|
+
# That's it! Follow the interactive prompts
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## π Usage
|
|
42
|
+
|
|
43
|
+
### Initialize Project Setup
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Interactive mode (recommended for first time)
|
|
47
|
+
den init
|
|
48
|
+
|
|
49
|
+
# Use specific template
|
|
50
|
+
den init --template startup
|
|
51
|
+
|
|
52
|
+
# Auto mode (no prompts, use defaults)
|
|
53
|
+
den init --auto
|
|
54
|
+
|
|
55
|
+
# Dry run (see what would be done)
|
|
56
|
+
den init --dry-run
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Analyze Project
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Get detailed project analysis
|
|
63
|
+
den analyze
|
|
64
|
+
|
|
65
|
+
# Output as JSON
|
|
66
|
+
den analyze --json
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### List Templates
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# See available templates
|
|
73
|
+
den templates --list
|
|
74
|
+
|
|
75
|
+
# Show template details
|
|
76
|
+
den templates --show startup
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Configuration
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# List all configuration
|
|
83
|
+
den config --list
|
|
84
|
+
|
|
85
|
+
# Set config value
|
|
86
|
+
den config --set defaultTemplate=agile
|
|
87
|
+
|
|
88
|
+
# Get config value
|
|
89
|
+
den config --get defaultTemplate
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## π¨ Templates
|
|
93
|
+
|
|
94
|
+
### π¦ Simple
|
|
95
|
+
- **Best for:** Personal projects, side projects
|
|
96
|
+
- **Milestones:** 3 (Foundation, Core, Polish)
|
|
97
|
+
- **Issues:** ~10
|
|
98
|
+
- **Duration:** Flexible
|
|
99
|
+
|
|
100
|
+
### π Startup MVP
|
|
101
|
+
- **Best for:** Startups, product development
|
|
102
|
+
- **Milestones:** 4 (Foundation, MVP Core, User Testing, Production)
|
|
103
|
+
- **Issues:** ~30
|
|
104
|
+
- **Duration:** 2-3 months
|
|
105
|
+
|
|
106
|
+
### π Agile/Scrum
|
|
107
|
+
- **Best for:** Teams using Agile/Scrum
|
|
108
|
+
- **Milestones:** Sprint-based (recurring)
|
|
109
|
+
- **Issues:** ~50
|
|
110
|
+
- **Duration:** 2-week sprints
|
|
111
|
+
|
|
112
|
+
### π’ Enterprise
|
|
113
|
+
- **Best for:** Large organizations, complex projects
|
|
114
|
+
- **Milestones:** 5+ phases (Discovery, Design, Development, Testing, Deployment)
|
|
115
|
+
- **Issues:** 50+
|
|
116
|
+
- **Duration:** 6+ months
|
|
117
|
+
|
|
118
|
+
## π What Gets Created
|
|
119
|
+
|
|
120
|
+
When you run `den init`, it creates:
|
|
121
|
+
|
|
122
|
+
### Milestones
|
|
123
|
+
- Organized phases/sprints with descriptions
|
|
124
|
+
- Properly configured (open/closed based on completion)
|
|
125
|
+
|
|
126
|
+
### Labels
|
|
127
|
+
- **Priority:** P0:Critical, P1:High, P2:Medium
|
|
128
|
+
- **Status:** in-progress, completed
|
|
129
|
+
- **Story Points:** 3, 5, 8
|
|
130
|
+
- **Epics:** Custom based on your project
|
|
131
|
+
|
|
132
|
+
### Issues
|
|
133
|
+
- Structured user stories
|
|
134
|
+
- Acceptance criteria
|
|
135
|
+
- Labels and milestones assigned
|
|
136
|
+
- Story points estimated
|
|
137
|
+
|
|
138
|
+
### Documentation
|
|
139
|
+
- `docs/backlog.md` - Complete backlog
|
|
140
|
+
- `.den-config.json` - Project configuration
|
|
141
|
+
|
|
142
|
+
## π§ Requirements
|
|
143
|
+
|
|
144
|
+
- **Node.js** >= 18.0.0
|
|
145
|
+
- **GitHub CLI** (`gh`) installed and authenticated
|
|
146
|
+
- **Git** repository initialized
|
|
147
|
+
|
|
148
|
+
### Setup GitHub CLI
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# Install gh CLI
|
|
152
|
+
brew install gh # macOS
|
|
153
|
+
# or visit: https://cli.github.com/
|
|
154
|
+
|
|
155
|
+
# Authenticate
|
|
156
|
+
gh auth login
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## π‘ Examples
|
|
160
|
+
|
|
161
|
+
### New Project
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
$ cd my-new-app
|
|
165
|
+
$ den init
|
|
166
|
+
|
|
167
|
+
π¦ Den GitHub Manager - Project Setup
|
|
168
|
+
|
|
169
|
+
π Analyzing project...
|
|
170
|
+
β Project analyzed
|
|
171
|
+
|
|
172
|
+
β No backlog found
|
|
173
|
+
|
|
174
|
+
? How would you like to proceed?
|
|
175
|
+
β― π Use a template (recommended)
|
|
176
|
+
π€ Generate from project structure
|
|
177
|
+
βοΈ Create manually later
|
|
178
|
+
|
|
179
|
+
? Select a template:
|
|
180
|
+
β― π Startup MVP (4 milestones, ~30 issues)
|
|
181
|
+
|
|
182
|
+
β Backlog generated
|
|
183
|
+
β GitHub client ready
|
|
184
|
+
β Created 4 milestones
|
|
185
|
+
β Labels created
|
|
186
|
+
β Created 28 issues
|
|
187
|
+
|
|
188
|
+
β
Setup Complete!
|
|
189
|
+
|
|
190
|
+
π View: https://github.com/user/my-new-app/milestones
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Existing Project with Backlog
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
$ cd existing-project
|
|
197
|
+
$ den init
|
|
198
|
+
|
|
199
|
+
π¦ Den GitHub Manager - Project Setup
|
|
200
|
+
|
|
201
|
+
π Analyzing project...
|
|
202
|
+
β Found backlog: docs/backlog.md
|
|
203
|
+
β Detected structure:
|
|
204
|
+
- 4 milestones
|
|
205
|
+
- 32 user stories
|
|
206
|
+
|
|
207
|
+
? Proceed with this structure? Yes
|
|
208
|
+
|
|
209
|
+
β Created 4 milestones
|
|
210
|
+
β Labels created
|
|
211
|
+
β Created 32 issues
|
|
212
|
+
|
|
213
|
+
β
Setup Complete!
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## π― Use Cases
|
|
217
|
+
|
|
218
|
+
| Project Type | Recommended Template | Setup Time |
|
|
219
|
+
|--------------|---------------------|------------|
|
|
220
|
+
| Personal side project | Simple | 2 min |
|
|
221
|
+
| Startup MVP | Startup | 3 min |
|
|
222
|
+
| Team project (Agile) | Agile | 5 min |
|
|
223
|
+
| Enterprise application | Enterprise | 10 min |
|
|
224
|
+
| Open source library | Simple/Agile | 3 min |
|
|
225
|
+
|
|
226
|
+
## π€ Contributing
|
|
227
|
+
|
|
228
|
+
Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details.
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
# Clone repository
|
|
232
|
+
git clone https://github.com/wolfcito/den-github-manager.git
|
|
233
|
+
cd den-github-manager
|
|
234
|
+
|
|
235
|
+
# Install dependencies
|
|
236
|
+
npm install
|
|
237
|
+
|
|
238
|
+
# Run locally
|
|
239
|
+
npm start -- init
|
|
240
|
+
|
|
241
|
+
# Run tests
|
|
242
|
+
npm test
|
|
243
|
+
|
|
244
|
+
# Lint code
|
|
245
|
+
npm run lint
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## π Documentation
|
|
249
|
+
|
|
250
|
+
- [Installation Guide](docs/installation.md)
|
|
251
|
+
- [Usage Guide](docs/usage.md)
|
|
252
|
+
- [Templates Guide](docs/templates.md)
|
|
253
|
+
- [Configuration](docs/configuration.md)
|
|
254
|
+
- [API Reference](docs/api.md)
|
|
255
|
+
|
|
256
|
+
## π Troubleshooting
|
|
257
|
+
|
|
258
|
+
### GitHub CLI not authenticated
|
|
259
|
+
```bash
|
|
260
|
+
gh auth login
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Permission denied
|
|
264
|
+
Make sure gh CLI has necessary scopes:
|
|
265
|
+
```bash
|
|
266
|
+
gh auth refresh -s project,repo
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### Template not found
|
|
270
|
+
List available templates:
|
|
271
|
+
```bash
|
|
272
|
+
den templates --list
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
## πΊοΈ Roadmap
|
|
276
|
+
|
|
277
|
+
- [x] v1.0 - Core functionality
|
|
278
|
+
- [ ] v1.1 - Project board auto-creation
|
|
279
|
+
- [ ] v1.2 - AI-powered backlog generation
|
|
280
|
+
- [ ] v1.3 - Multi-repo support
|
|
281
|
+
- [ ] v2.0 - Web UI
|
|
282
|
+
|
|
283
|
+
## π License
|
|
284
|
+
|
|
285
|
+
MIT Β© [wolfcito](https://github.com/wolfcito)
|
|
286
|
+
|
|
287
|
+
## π Acknowledgments
|
|
288
|
+
|
|
289
|
+
Built with:
|
|
290
|
+
- [Commander.js](https://github.com/tj/commander.js/) - CLI framework
|
|
291
|
+
- [Inquirer.js](https://github.com/SBoudrias/Inquirer.js/) - Interactive prompts
|
|
292
|
+
- [Chalk](https://github.com/chalk/chalk) - Terminal styling
|
|
293
|
+
- [Octokit](https://github.com/octokit/octokit.js) - GitHub API client
|
|
294
|
+
|
|
295
|
+
## π Star History
|
|
296
|
+
|
|
297
|
+
If this tool helps you, consider giving it a star! β
|
|
298
|
+
|
|
299
|
+
## π Support
|
|
300
|
+
|
|
301
|
+
- π [Report a bug](https://github.com/wolfcito/den-github-manager/issues)
|
|
302
|
+
- π‘ [Request a feature](https://github.com/wolfcito/den-github-manager/issues)
|
|
303
|
+
- π¬ [Discussions](https://github.com/wolfcito/den-github-manager/discussions)
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
Made with β€οΈ by [wolfcito](https://github.com/wolfcito)
|
package/bin/den.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { program } from 'commander';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import { initCommand } from '../src/commands/init.js';
|
|
6
|
+
import { analyzeCommand } from '../src/commands/analyze.js';
|
|
7
|
+
import { templatesCommand } from '../src/commands/templates.js';
|
|
8
|
+
import { configCommand } from '../src/commands/config.js';
|
|
9
|
+
|
|
10
|
+
const pkg = {
|
|
11
|
+
name: 'den-github-manager',
|
|
12
|
+
version: '1.0.0',
|
|
13
|
+
description: 'CLI tool to setup GitHub Projects automatically'
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
console.log(chalk.blue.bold(`\nπ¦ ${pkg.name} v${pkg.version}`));
|
|
17
|
+
console.log(chalk.gray('GitHub Project Management Made Easy\n'));
|
|
18
|
+
|
|
19
|
+
program
|
|
20
|
+
.name('den')
|
|
21
|
+
.description(pkg.description)
|
|
22
|
+
.version(pkg.version);
|
|
23
|
+
|
|
24
|
+
// Init command - Main setup
|
|
25
|
+
program
|
|
26
|
+
.command('init')
|
|
27
|
+
.description('Initialize GitHub Project setup for current repository')
|
|
28
|
+
.option('-t, --template <name>', 'Use specific template (simple, startup, agile, enterprise)')
|
|
29
|
+
.option('-a, --auto', 'Auto mode - use defaults without prompts')
|
|
30
|
+
.option('-d, --dry-run', 'Show what would be done without executing')
|
|
31
|
+
.option('--repo <owner/repo>', 'Target repository (default: current)')
|
|
32
|
+
.action(initCommand);
|
|
33
|
+
|
|
34
|
+
// Analyze command
|
|
35
|
+
program
|
|
36
|
+
.command('analyze')
|
|
37
|
+
.description('Analyze current project structure')
|
|
38
|
+
.option('--json', 'Output as JSON')
|
|
39
|
+
.action(analyzeCommand);
|
|
40
|
+
|
|
41
|
+
// Templates command
|
|
42
|
+
program
|
|
43
|
+
.command('templates')
|
|
44
|
+
.description('List or manage templates')
|
|
45
|
+
.option('-l, --list', 'List available templates')
|
|
46
|
+
.option('-s, --show <name>', 'Show template details')
|
|
47
|
+
.action(templatesCommand);
|
|
48
|
+
|
|
49
|
+
// Config command
|
|
50
|
+
program
|
|
51
|
+
.command('config')
|
|
52
|
+
.description('Configure den-github-manager settings')
|
|
53
|
+
.option('--set <key=value>', 'Set configuration value')
|
|
54
|
+
.option('--get <key>', 'Get configuration value')
|
|
55
|
+
.option('--list', 'List all configuration')
|
|
56
|
+
.action(configCommand);
|
|
57
|
+
|
|
58
|
+
// Parse arguments
|
|
59
|
+
program.parse(process.argv);
|
|
60
|
+
|
|
61
|
+
// Show help if no command provided
|
|
62
|
+
if (!process.argv.slice(2).length) {
|
|
63
|
+
program.outputHelp();
|
|
64
|
+
console.log(chalk.yellow('\nπ‘ Quick start:'));
|
|
65
|
+
console.log(chalk.gray(' $ den init # Interactive setup'));
|
|
66
|
+
console.log(chalk.gray(' $ den init --template agile --auto'));
|
|
67
|
+
console.log(chalk.gray(' $ den analyze # Analyze project'));
|
|
68
|
+
console.log(chalk.gray(' $ den templates --list # Show templates\n'));
|
|
69
|
+
}
|