specchain-pro 0.1.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.
@@ -0,0 +1,96 @@
1
+ #!/bin/bash
2
+
3
+ # SpecChain Pro - GitHub Only Deployment Script
4
+ # Deploy to GitHub without npm publishing
5
+
6
+ set -e
7
+
8
+ echo "🚀 SpecChain Pro - GitHub Deployment"
9
+ echo "====================================="
10
+ echo ""
11
+
12
+ # Colors
13
+ GREEN='\033[0;32m'
14
+ BLUE='\033[0;34m'
15
+ YELLOW='\033[1;33m'
16
+ NC='\033[0m'
17
+
18
+ print_success() {
19
+ echo -e "${GREEN}✓${NC} $1"
20
+ }
21
+
22
+ print_info() {
23
+ echo -e "${BLUE}ℹ${NC} $1"
24
+ }
25
+
26
+ print_warning() {
27
+ echo -e "${YELLOW}âš ${NC} $1"
28
+ }
29
+
30
+ # 1. Build project
31
+ print_info "Building project..."
32
+ npm run build
33
+ print_success "Build successful"
34
+
35
+ # 2. Run tests
36
+ print_info "Running tests..."
37
+ npm test || print_warning "Tests not fully implemented yet"
38
+
39
+ # 3. Get current version
40
+ CURRENT_VERSION=$(node -p "require('./package.json').version")
41
+ print_info "Current version: $CURRENT_VERSION"
42
+
43
+ # 4. Ask for version bump
44
+ echo ""
45
+ echo "Select version bump:"
46
+ echo "1) Patch (bug fixes)"
47
+ echo "2) Minor (new features)"
48
+ echo "3) Major (breaking changes)"
49
+ echo "4) Skip version bump"
50
+ read -p "Enter choice (1-4): " VERSION_CHOICE
51
+
52
+ case $VERSION_CHOICE in
53
+ 1)
54
+ npm version patch -m "Release v%s"
55
+ ;;
56
+ 2)
57
+ npm version minor -m "Release v%s"
58
+ ;;
59
+ 3)
60
+ npm version major -m "Release v%s"
61
+ ;;
62
+ 4)
63
+ print_warning "Skipping version bump"
64
+ ;;
65
+ esac
66
+
67
+ NEW_VERSION=$(node -p "require('./package.json').version")
68
+ print_success "Version: $NEW_VERSION"
69
+
70
+ # 5. Commit and push
71
+ print_info "Pushing to GitHub..."
72
+ git push
73
+ print_success "Pushed to main branch"
74
+
75
+ # 6. Create and push tag
76
+ print_info "Creating tag v$NEW_VERSION..."
77
+ git push --tags
78
+ print_success "Tag pushed"
79
+
80
+ # 7. Success
81
+ echo ""
82
+ echo "======================================"
83
+ print_success "Deployment completed!"
84
+ echo "======================================"
85
+ echo ""
86
+ print_info "Version $NEW_VERSION is now on GitHub"
87
+ echo ""
88
+ echo "Users can install with:"
89
+ echo " npm install -g github:yourusername/specchain-pro"
90
+ echo ""
91
+ echo "Next steps:"
92
+ echo " 1. Create GitHub release: https://github.com/yourusername/specchain-pro/releases/new"
93
+ echo " 2. Select tag: v$NEW_VERSION"
94
+ echo " 3. Add release notes from CHANGELOG.md"
95
+ echo ""
96
+ print_success "Done! 🎉"
@@ -0,0 +1,183 @@
1
+ # SpecChain Pro Deployment Script (PowerShell)
2
+ # This script automates the deployment process for Windows
3
+
4
+ $ErrorActionPreference = "Stop"
5
+
6
+ Write-Host "🚀 SpecChain Pro Deployment Script" -ForegroundColor Cyan
7
+ Write-Host "====================================" -ForegroundColor Cyan
8
+ Write-Host ""
9
+
10
+ function Print-Success {
11
+ param($Message)
12
+ Write-Host "✓ $Message" -ForegroundColor Green
13
+ }
14
+
15
+ function Print-Error {
16
+ param($Message)
17
+ Write-Host "✗ $Message" -ForegroundColor Red
18
+ }
19
+
20
+ function Print-Warning {
21
+ param($Message)
22
+ Write-Host "âš  $Message" -ForegroundColor Yellow
23
+ }
24
+
25
+ function Print-Info {
26
+ param($Message)
27
+ Write-Host "ℹ $Message" -ForegroundColor Blue
28
+ }
29
+
30
+ # Check if we're in the right directory
31
+ if (-not (Test-Path "package.json")) {
32
+ Print-Error "package.json not found. Are you in the project root?"
33
+ exit 1
34
+ }
35
+
36
+ Print-Info "Starting pre-deployment checks..."
37
+ Write-Host ""
38
+
39
+ # 1. Check Node version
40
+ Print-Info "Checking Node.js version..."
41
+ $nodeVersion = node -v
42
+ Print-Success "Node.js version: $nodeVersion"
43
+
44
+ # 2. Clean install
45
+ Print-Info "Installing dependencies..."
46
+ npm ci
47
+ if ($LASTEXITCODE -ne 0) {
48
+ Print-Error "Failed to install dependencies"
49
+ exit 1
50
+ }
51
+ Print-Success "Dependencies installed"
52
+
53
+ # 3. Lint code
54
+ Print-Info "Linting code..."
55
+ npm run lint
56
+ if ($LASTEXITCODE -ne 0) {
57
+ Print-Error "Linting failed"
58
+ exit 1
59
+ }
60
+ Print-Success "Code linted successfully"
61
+
62
+ # 4. Format code
63
+ Print-Info "Formatting code..."
64
+ npm run format
65
+ Print-Success "Code formatted"
66
+
67
+ # 5. Build project
68
+ Print-Info "Building project..."
69
+ npm run build
70
+ if ($LASTEXITCODE -ne 0) {
71
+ Print-Error "Build failed"
72
+ exit 1
73
+ }
74
+ Print-Success "Build successful"
75
+
76
+ # 6. Run tests
77
+ Print-Info "Running tests..."
78
+ npm test
79
+ if ($LASTEXITCODE -ne 0) {
80
+ Print-Warning "Tests not fully implemented yet"
81
+ }
82
+
83
+ # 7. Check if logged in to npm
84
+ Print-Info "Checking npm authentication..."
85
+ $npmUser = npm whoami 2>$null
86
+ if ($LASTEXITCODE -eq 0) {
87
+ Print-Success "Logged in as: $npmUser"
88
+ } else {
89
+ Print-Error "Not logged in to npm. Run 'npm login' first."
90
+ exit 1
91
+ }
92
+
93
+ # 8. Get current version
94
+ $packageJson = Get-Content "package.json" | ConvertFrom-Json
95
+ $currentVersion = $packageJson.version
96
+ Print-Info "Current version: $currentVersion"
97
+
98
+ # 9. Ask for version bump
99
+ Write-Host ""
100
+ Write-Host "Select version bump type:"
101
+ Write-Host "1) Patch ($currentVersion → x.x.x+1) - Bug fixes"
102
+ Write-Host "2) Minor ($currentVersion → x.x+1.0) - New features"
103
+ Write-Host "3) Major ($currentVersion → x+1.0.0) - Breaking changes"
104
+ Write-Host "4) Skip version bump"
105
+ $versionChoice = Read-Host "Enter choice (1-4)"
106
+
107
+ switch ($versionChoice) {
108
+ "1" {
109
+ Print-Info "Bumping patch version..."
110
+ npm version patch -m "Release v%s"
111
+ }
112
+ "2" {
113
+ Print-Info "Bumping minor version..."
114
+ npm version minor -m "Release v%s"
115
+ }
116
+ "3" {
117
+ Print-Info "Bumping major version..."
118
+ npm version major -m "Release v%s"
119
+ }
120
+ "4" {
121
+ Print-Warning "Skipping version bump"
122
+ }
123
+ default {
124
+ Print-Error "Invalid choice"
125
+ exit 1
126
+ }
127
+ }
128
+
129
+ $packageJson = Get-Content "package.json" | ConvertFrom-Json
130
+ $newVersion = $packageJson.version
131
+ Print-Success "Version: $newVersion"
132
+
133
+ # 10. Dry run
134
+ Write-Host ""
135
+ Print-Info "Running npm publish dry run..."
136
+ npm publish --dry-run
137
+ if ($LASTEXITCODE -ne 0) {
138
+ Print-Error "Dry run failed"
139
+ exit 1
140
+ }
141
+ Print-Success "Dry run successful"
142
+
143
+ # 11. Confirm deployment
144
+ Write-Host ""
145
+ $confirm = Read-Host "Deploy version $newVersion to npm? (y/n)"
146
+
147
+ if ($confirm -ne "y") {
148
+ Print-Warning "Deployment cancelled"
149
+ exit 0
150
+ }
151
+
152
+ # 12. Publish to npm
153
+ Print-Info "Publishing to npm..."
154
+ npm publish
155
+ if ($LASTEXITCODE -ne 0) {
156
+ Print-Error "Publishing failed"
157
+ exit 1
158
+ }
159
+ Print-Success "Published to npm successfully!"
160
+
161
+ # 13. Push to git
162
+ Print-Info "Pushing to git..."
163
+ git push
164
+ git push --tags
165
+ if ($LASTEXITCODE -ne 0) {
166
+ Print-Error "Git push failed"
167
+ exit 1
168
+ }
169
+ Print-Success "Pushed to git with tags"
170
+
171
+ # 14. Success message
172
+ Write-Host ""
173
+ Write-Host "======================================" -ForegroundColor Green
174
+ Print-Success "Deployment completed successfully!"
175
+ Write-Host "======================================" -ForegroundColor Green
176
+ Write-Host ""
177
+ Print-Info "Version $newVersion is now live on npm"
178
+ Print-Info "Next steps:"
179
+ Write-Host " 1. Create GitHub release at: https://github.com/yourusername/specchain-pro/releases/new"
180
+ Write-Host " 2. Update documentation if needed"
181
+ Write-Host " 3. Announce the release"
182
+ Write-Host ""
183
+ Print-Success "Done! 🎉"
@@ -0,0 +1,159 @@
1
+ #!/bin/bash
2
+
3
+ # SpecChain Pro Deployment Script
4
+ # This script automates the deployment process
5
+
6
+ set -e # Exit on error
7
+
8
+ echo "🚀 SpecChain Pro Deployment Script"
9
+ echo "===================================="
10
+ echo ""
11
+
12
+ # Colors
13
+ RED='\033[0;31m'
14
+ GREEN='\033[0;32m'
15
+ YELLOW='\033[1;33m'
16
+ BLUE='\033[0;34m'
17
+ NC='\033[0m' # No Color
18
+
19
+ # Functions
20
+ print_success() {
21
+ echo -e "${GREEN}✓${NC} $1"
22
+ }
23
+
24
+ print_error() {
25
+ echo -e "${RED}✗${NC} $1"
26
+ }
27
+
28
+ print_warning() {
29
+ echo -e "${YELLOW}âš ${NC} $1"
30
+ }
31
+
32
+ print_info() {
33
+ echo -e "${BLUE}ℹ${NC} $1"
34
+ }
35
+
36
+ # Check if we're in the right directory
37
+ if [ ! -f "package.json" ]; then
38
+ print_error "package.json not found. Are you in the project root?"
39
+ exit 1
40
+ fi
41
+
42
+ print_info "Starting pre-deployment checks..."
43
+ echo ""
44
+
45
+ # 1. Check Node version
46
+ print_info "Checking Node.js version..."
47
+ NODE_VERSION=$(node -v)
48
+ print_success "Node.js version: $NODE_VERSION"
49
+
50
+ # 2. Clean install
51
+ print_info "Installing dependencies..."
52
+ npm ci
53
+ print_success "Dependencies installed"
54
+
55
+ # 3. Lint code
56
+ print_info "Linting code..."
57
+ npm run lint
58
+ print_success "Code linted successfully"
59
+
60
+ # 4. Format code
61
+ print_info "Formatting code..."
62
+ npm run format
63
+ print_success "Code formatted"
64
+
65
+ # 5. Build project
66
+ print_info "Building project..."
67
+ npm run build
68
+ print_success "Build successful"
69
+
70
+ # 6. Run tests
71
+ print_info "Running tests..."
72
+ npm test || print_warning "Tests not fully implemented yet"
73
+
74
+ # 7. Check if logged in to npm
75
+ print_info "Checking npm authentication..."
76
+ if npm whoami > /dev/null 2>&1; then
77
+ NPM_USER=$(npm whoami)
78
+ print_success "Logged in as: $NPM_USER"
79
+ else
80
+ print_error "Not logged in to npm. Run 'npm login' first."
81
+ exit 1
82
+ fi
83
+
84
+ # 8. Get current version
85
+ CURRENT_VERSION=$(node -p "require('./package.json').version")
86
+ print_info "Current version: $CURRENT_VERSION"
87
+
88
+ # 9. Ask for version bump
89
+ echo ""
90
+ echo "Select version bump type:"
91
+ echo "1) Patch (0.1.0 → 0.1.1) - Bug fixes"
92
+ echo "2) Minor (0.1.0 → 0.2.0) - New features"
93
+ echo "3) Major (0.1.0 → 1.0.0) - Breaking changes"
94
+ echo "4) Skip version bump"
95
+ read -p "Enter choice (1-4): " VERSION_CHOICE
96
+
97
+ case $VERSION_CHOICE in
98
+ 1)
99
+ print_info "Bumping patch version..."
100
+ npm version patch -m "Release v%s"
101
+ ;;
102
+ 2)
103
+ print_info "Bumping minor version..."
104
+ npm version minor -m "Release v%s"
105
+ ;;
106
+ 3)
107
+ print_info "Bumping major version..."
108
+ npm version major -m "Release v%s"
109
+ ;;
110
+ 4)
111
+ print_warning "Skipping version bump"
112
+ ;;
113
+ *)
114
+ print_error "Invalid choice"
115
+ exit 1
116
+ ;;
117
+ esac
118
+
119
+ NEW_VERSION=$(node -p "require('./package.json').version")
120
+ print_success "Version: $NEW_VERSION"
121
+
122
+ # 10. Dry run
123
+ echo ""
124
+ print_info "Running npm publish dry run..."
125
+ npm publish --dry-run
126
+ print_success "Dry run successful"
127
+
128
+ # 11. Confirm deployment
129
+ echo ""
130
+ read -p "Deploy version $NEW_VERSION to npm? (y/n): " CONFIRM
131
+
132
+ if [ "$CONFIRM" != "y" ]; then
133
+ print_warning "Deployment cancelled"
134
+ exit 0
135
+ fi
136
+
137
+ # 12. Publish to npm
138
+ print_info "Publishing to npm..."
139
+ npm publish
140
+ print_success "Published to npm successfully!"
141
+
142
+ # 13. Push to git
143
+ print_info "Pushing to git..."
144
+ git push && git push --tags
145
+ print_success "Pushed to git with tags"
146
+
147
+ # 14. Success message
148
+ echo ""
149
+ echo "======================================"
150
+ print_success "Deployment completed successfully!"
151
+ echo "======================================"
152
+ echo ""
153
+ print_info "Version $NEW_VERSION is now live on npm"
154
+ print_info "Next steps:"
155
+ echo " 1. Create GitHub release at: https://github.com/yourusername/specchain-pro/releases/new"
156
+ echo " 2. Update documentation if needed"
157
+ echo " 3. Announce the release"
158
+ echo ""
159
+ print_success "Done! 🎉"
package/setup-git.ps1 ADDED
@@ -0,0 +1,30 @@
1
+ # Setup Git and Push to GitHub (PowerShell)
2
+ # For luxmikant/specchain-pro
3
+
4
+ Write-Host "🚀 Setting up Git repository..." -ForegroundColor Cyan
5
+
6
+ # Initialize git
7
+ git init
8
+
9
+ # Add all files
10
+ git add .
11
+
12
+ # Create initial commit
13
+ git commit -m "Initial commit: SpecChain Pro v0.1.0 MVP base"
14
+
15
+ # Set main branch
16
+ git branch -M main
17
+
18
+ # Add remote
19
+ git remote add origin https://github.com/luxmikant/specchain-pro.git
20
+
21
+ # Push to GitHub
22
+ Write-Host "📤 Pushing to GitHub..." -ForegroundColor Cyan
23
+ git push -u origin main
24
+
25
+ # Create release tag
26
+ git tag -a v0.1.0 -m "Release v0.1.0: MVP Base Foundation"
27
+ git push origin v0.1.0
28
+
29
+ Write-Host "✅ Done! Repository is now on GitHub" -ForegroundColor Green
30
+ Write-Host "🔗 https://github.com/luxmikant/specchain-pro" -ForegroundColor Blue
package/setup-git.sh ADDED
@@ -0,0 +1,32 @@
1
+ #!/bin/bash
2
+
3
+ # Setup Git and Push to GitHub
4
+ # For luxmikant/specchain-pro
5
+
6
+ echo "🚀 Setting up Git repository..."
7
+
8
+ # Initialize git
9
+ git init
10
+
11
+ # Add all files
12
+ git add .
13
+
14
+ # Create initial commit
15
+ git commit -m "Initial commit: SpecChain Pro v0.1.0 MVP base"
16
+
17
+ # Set main branch
18
+ git branch -M main
19
+
20
+ # Add remote
21
+ git remote add origin https://github.com/luxmikant/specchain-pro.git
22
+
23
+ # Push to GitHub
24
+ echo "📤 Pushing to GitHub..."
25
+ git push -u origin main
26
+
27
+ # Create release tag
28
+ git tag -a v0.1.0 -m "Release v0.1.0: MVP Base Foundation"
29
+ git push origin v0.1.0
30
+
31
+ echo "✅ Done! Repository is now on GitHub"
32
+ echo "🔗 https://github.com/luxmikant/specchain-pro"