appclean 2.0.0 → 2.0.3

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 (57) hide show
  1. package/.github/workflows/npm-publish.yml +104 -0
  2. package/DEVELOPMENT.md +84 -0
  3. package/RELEASE_GUIDE.md +257 -0
  4. package/RELEASE_QUICK_START.md +176 -0
  5. package/assets/logo.svg +48 -32
  6. package/dist/index.js +1 -1
  7. package/dist/ui/client/api/client.d.ts.map +1 -1
  8. package/dist/ui/client/api/client.js +5 -1
  9. package/dist/ui/client/api/client.js.map +1 -1
  10. package/dist/ui/client/app.d.ts +1 -1
  11. package/dist/ui/client/app.d.ts.map +1 -1
  12. package/dist/ui/client/app.js +10 -6
  13. package/dist/ui/client/app.js.map +1 -1
  14. package/dist/ui/client/index.html +103 -46
  15. package/dist/ui/client/pages/appSearch.js +12 -1
  16. package/dist/ui/client/pages/appSearch.js.map +1 -1
  17. package/dist/ui/client/pages/dashboard.d.ts.map +1 -1
  18. package/dist/ui/client/pages/dashboard.js +26 -5
  19. package/dist/ui/client/pages/dashboard.js.map +1 -1
  20. package/dist/ui/client/state/appStore.d.ts.map +1 -1
  21. package/dist/ui/client/state/appStore.js +21 -12
  22. package/dist/ui/client/state/appStore.js.map +1 -1
  23. package/dist/ui/client/state/dashboardStore.d.ts.map +1 -1
  24. package/dist/ui/client/state/dashboardStore.js +9 -3
  25. package/dist/ui/client/state/dashboardStore.js.map +1 -1
  26. package/dist/ui/client/styles/animations.css +384 -2
  27. package/dist/ui/client/styles/base.css +347 -73
  28. package/dist/ui/client/styles/components.css +566 -189
  29. package/dist/ui/client/styles/layout.css +618 -1
  30. package/dist/ui/client/styles/responsive.css +388 -0
  31. package/dist/ui/client/styles/variables.css +163 -69
  32. package/dist/ui/guiServer.d.ts +3 -0
  33. package/dist/ui/guiServer.d.ts.map +1 -1
  34. package/dist/ui/guiServer.js +48 -1
  35. package/dist/ui/guiServer.js.map +1 -1
  36. package/dist/utils/upgrade.d.ts +2 -1
  37. package/dist/utils/upgrade.d.ts.map +1 -1
  38. package/dist/utils/upgrade.js +14 -1
  39. package/dist/utils/upgrade.js.map +1 -1
  40. package/package.json +1 -1
  41. package/scripts/publish-npm.sh +64 -0
  42. package/src/index.ts +1 -1
  43. package/src/ui/client/api/client.ts +6 -1
  44. package/src/ui/client/app.ts +15 -11
  45. package/src/ui/client/index.html +103 -46
  46. package/src/ui/client/pages/appSearch.ts +14 -1
  47. package/src/ui/client/pages/dashboard.ts +27 -5
  48. package/src/ui/client/state/appStore.ts +24 -12
  49. package/src/ui/client/state/dashboardStore.ts +13 -3
  50. package/src/ui/client/styles/animations.css +384 -2
  51. package/src/ui/client/styles/base.css +347 -73
  52. package/src/ui/client/styles/components.css +566 -189
  53. package/src/ui/client/styles/layout.css +618 -1
  54. package/src/ui/client/styles/responsive.css +388 -0
  55. package/src/ui/client/styles/variables.css +163 -69
  56. package/src/ui/guiServer.ts +67 -1
  57. package/src/utils/upgrade.ts +18 -1
@@ -0,0 +1,104 @@
1
+ name: Publish to npm & Create Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*.*.*'
7
+
8
+ permissions:
9
+ contents: write
10
+ packages: write
11
+
12
+ jobs:
13
+ publish:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Checkout code
17
+ uses: actions/checkout@v4
18
+ with:
19
+ fetch-depth: 0
20
+
21
+ - name: Setup Node.js
22
+ uses: actions/setup-node@v4
23
+ with:
24
+ node-version: '20'
25
+ registry-url: 'https://registry.npmjs.org'
26
+
27
+ - name: Install dependencies
28
+ run: npm ci
29
+
30
+ - name: Build
31
+ run: npm run build
32
+
33
+ - name: Run tests (if available)
34
+ run: npm test --if-present || true
35
+
36
+ - name: Extract version from tag
37
+ id: version
38
+ run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
39
+
40
+ - name: Publish to npm
41
+ run: npm publish
42
+ env:
43
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
44
+
45
+ - name: Generate changelog
46
+ id: changelog
47
+ run: |
48
+ # Get the previous tag
49
+ PREV_TAG=$(git describe --tags --abbrev=0 $(git rev-list --tags --skip=1 -n1) 2>/dev/null || echo "")
50
+
51
+ if [ -z "$PREV_TAG" ]; then
52
+ CHANGELOG="Initial release"
53
+ else
54
+ CHANGELOG=$(git log $PREV_TAG..HEAD --pretty=format:"- %h: %s" | head -20)
55
+ fi
56
+
57
+ # Save to output file (handle multiline)
58
+ echo "CHANGELOG<<EOF" >> $GITHUB_OUTPUT
59
+ echo "$CHANGELOG" >> $GITHUB_OUTPUT
60
+ echo "EOF" >> $GITHUB_OUTPUT
61
+
62
+ - name: Create GitHub Release
63
+ uses: softprops/action-gh-release@v1
64
+ with:
65
+ tag_name: ${{ github.ref }}
66
+ name: "AppClean v${{ steps.version.outputs.VERSION }}"
67
+ body: |
68
+ ## 📦 Release v${{ steps.version.outputs.VERSION }}
69
+
70
+ AppClean v${{ steps.version.outputs.VERSION }} has been published to npm!
71
+
72
+ ### 🚀 Quick Start
73
+ ```bash
74
+ npm install -g appclean@latest
75
+ ```
76
+
77
+ Or upgrade your existing installation:
78
+ ```bash
79
+ appclean upgrade
80
+ ```
81
+
82
+ ### 📝 Changes
83
+ ${{ steps.changelog.outputs.CHANGELOG }}
84
+
85
+ ### 📎 Links
86
+ - 📦 [npm Package](https://www.npmjs.com/package/appclean)
87
+ - 💻 [GitHub Repository](https://github.com/praveenkay/AppClean)
88
+ - 🐛 [Report Issues](https://github.com/praveenkay/AppClean/issues)
89
+
90
+ ---
91
+ Thank you for using AppClean! 🎉
92
+ draft: false
93
+ prerelease: false
94
+
95
+ - name: Notify success
96
+ if: success()
97
+ run: |
98
+ echo "✅ Successfully published AppClean v${{ steps.version.outputs.VERSION }}"
99
+ echo "📦 npm: https://www.npmjs.com/package/appclean/v/${{ steps.version.outputs.VERSION }}"
100
+ echo "🔖 Release: https://github.com/praveenkay/AppClean/releases/tag/v${{ steps.version.outputs.VERSION }}"
101
+
102
+ - name: Notify on failure
103
+ if: failure()
104
+ run: echo "❌ Failed to publish AppClean v${{ steps.version.outputs.VERSION }}"
package/DEVELOPMENT.md ADDED
@@ -0,0 +1,84 @@
1
+ # AppClean Development Guide
2
+
3
+ ## Commit Message Standards
4
+
5
+ All commits should follow the format:
6
+
7
+ ```
8
+ <type>(<scope>): <subject>
9
+
10
+ <body>
11
+
12
+ <footer>
13
+ ```
14
+
15
+ ### Commit Types
16
+ - **feat**: New feature
17
+ - **fix**: Bug fix
18
+ - **docs**: Documentation changes
19
+ - **style**: Code style changes (no logic changes)
20
+ - **refactor**: Code refactoring
21
+ - **perf**: Performance improvements
22
+ - **test**: Test additions/changes
23
+ - **chore**: Build, dependencies, tooling
24
+ - **ci**: CI/CD configuration
25
+
26
+ ### Example Commits
27
+
28
+ Good ✅
29
+ ```
30
+ feat(gui): Add dark mode support
31
+ fix(dashboard): Resolve loading state issue
32
+ docs: Update installation instructions
33
+ chore: Update dependencies
34
+ ```
35
+
36
+ ### Important Notes
37
+
38
+ - **DO NOT** include tool attribution in commit messages
39
+ - **DO NOT** add "Co-Authored-By" lines unless there are actual human co-authors
40
+ - Keep commit messages clear and focused
41
+ - Use imperative mood ("Add" not "Added")
42
+ - Reference issues if applicable (#123)
43
+
44
+ ## Git Hooks
45
+
46
+ A pre-commit hook is installed to prevent unauthorized references in commit messages.
47
+
48
+ To test:
49
+ ```bash
50
+ git commit -m "fix: Some fix
51
+
52
+ Tool Attribution Line" # This will be rejected
53
+ ```
54
+
55
+ ## Repository History
56
+
57
+ This repository has been cleaned of all tool attribution references. The code is built by the team, not by external tools.
58
+
59
+ ## Future Releases
60
+
61
+ When releasing new versions:
62
+
63
+ 1. Update version in `package.json`
64
+ 2. Update VERSION in `src/index.ts`
65
+ 3. Build and test: `npm run build && npm test`
66
+ 4. Create commit: `git commit -m "chore: Bump version to X.Y.Z"`
67
+ 5. Create tag: `git tag -a vX.Y.Z -m "AppClean vX.Y.Z"`
68
+ 6. Push: `git push origin main && git push origin vX.Y.Z`
69
+
70
+ See `RELEASE_GUIDE.md` for detailed publishing instructions.
71
+
72
+ ## Code Quality
73
+
74
+ - Follow existing code style
75
+ - Write meaningful variable/function names
76
+ - Add comments for complex logic
77
+ - Keep functions focused and modular
78
+ - Write tests for new features
79
+
80
+ ## Support
81
+
82
+ For issues or questions about development, check:
83
+ - GitHub Issues: https://github.com/praveenkay/AppClean/issues
84
+ - GitHub Discussions: https://github.com/praveenkay/AppClean/discussions
@@ -0,0 +1,257 @@
1
+ # AppClean Release Guide
2
+
3
+ This guide explains how to release new versions of AppClean to npm and GitHub with **full automation**.
4
+
5
+ ## ⚡ CRITICAL: Setup Required (One-time)
6
+
7
+ Before you can use automatic releases, you MUST set up **NPM_TOKEN** in GitHub Secrets:
8
+
9
+ ### 1. Get NPM Token
10
+ ```bash
11
+ npm token create --read-only
12
+ ```
13
+ Visit: https://www.npmjs.com/settings/YOUR_USERNAME/tokens
14
+
15
+ ### 2. Add to GitHub Secrets
16
+ 1. Go to: https://github.com/praveenkay/AppClean/settings/secrets/actions
17
+ 2. Click **"New repository secret"**
18
+ 3. Name: `NPM_TOKEN`
19
+ 4. Value: Paste your npm token
20
+ 5. Click **"Add secret"**
21
+
22
+ ⚠️ **Without this, automatic publishing will fail!**
23
+
24
+ ---
25
+
26
+ ## Quick Start
27
+
28
+ ### Option 1: Automatic Publishing (Recommended)
29
+
30
+ Once GitHub Actions is set up, releases are published automatically:
31
+
32
+ 1. **Create a git tag**:
33
+ ```bash
34
+ git tag -a v2.0.1 -m "AppClean v2.0.1 - Description here"
35
+ git push origin v2.0.1
36
+ ```
37
+
38
+ 2. **GitHub Actions automatically**:
39
+ - Builds the project
40
+ - Runs tests
41
+ - Publishes to npm
42
+ - Creates a GitHub release
43
+
44
+ ### Option 2: Manual Publishing via Script
45
+
46
+ Use the provided publish script to handle everything:
47
+
48
+ ```bash
49
+ ./scripts/publish-npm.sh 2.0.1
50
+ ```
51
+
52
+ This script:
53
+ - Updates version in `package.json` and `src/index.ts`
54
+ - Builds the project
55
+ - Creates a git commit and tag
56
+ - Publishes to npm
57
+ - Pushes changes to GitHub
58
+
59
+ ## Setup Requirements
60
+
61
+ ### 1. npm Authentication
62
+
63
+ Set up npm credentials for publishing:
64
+
65
+ ```bash
66
+ npm login
67
+ ```
68
+
69
+ This creates an `.npmrc` file in your home directory with authentication tokens.
70
+
71
+ ### 2. GitHub Actions (for automatic publishing)
72
+
73
+ Add NPM_TOKEN to GitHub Secrets:
74
+
75
+ 1. Go to your repository settings: https://github.com/praveenkay/AppClean/settings/secrets/actions
76
+ 2. Click "New repository secret"
77
+ 3. Name: `NPM_TOKEN`
78
+ 4. Value: Your npm authentication token
79
+
80
+ **To get your npm token**:
81
+ ```bash
82
+ npm token create --read-only
83
+ ```
84
+
85
+ Or view existing tokens at: https://www.npmjs.com/settings/YOUR_USERNAME/tokens
86
+
87
+ ### 3. Ensure Files are Updated
88
+
89
+ Before releasing, make sure:
90
+
91
+ - ✅ `package.json` has correct version
92
+ - ✅ `src/index.ts` has correct VERSION constant
93
+ - ✅ Built files are up-to-date (`npm run build`)
94
+ - ✅ All tests pass (`npm test`)
95
+ - ✅ Changes are committed
96
+
97
+ ## Release Process
98
+
99
+ ### Step 1: Update Version
100
+
101
+ Update the version in both files:
102
+
103
+ ```bash
104
+ # Edit package.json
105
+ "version": "2.0.1"
106
+
107
+ # Edit src/index.ts
108
+ const VERSION = '2.0.1';
109
+ ```
110
+
111
+ ### Step 2: Build and Test
112
+
113
+ ```bash
114
+ npm run build
115
+ npm test
116
+ ```
117
+
118
+ ### Step 3: Commit Changes
119
+
120
+ ```bash
121
+ git add package.json src/index.ts
122
+ git commit -m "chore: Bump version to 2.0.1"
123
+ ```
124
+
125
+ ### Step 4: Create Release
126
+
127
+ #### Option A: Via Git Tag (triggers GitHub Actions)
128
+
129
+ ```bash
130
+ git tag -a v2.0.1 -m "AppClean v2.0.1 - Bug fixes and improvements"
131
+ git push origin main
132
+ git push origin v2.0.1
133
+ ```
134
+
135
+ GitHub Actions will automatically:
136
+ - Build the project
137
+ - Publish to npm
138
+ - Create a GitHub release
139
+
140
+ #### Option B: Via Script
141
+
142
+ ```bash
143
+ ./scripts/publish-npm.sh 2.0.1
144
+ ```
145
+
146
+ ## Automated Workflow
147
+
148
+ The GitHub Actions workflow (`.github/workflows/npm-publish.yml`) handles:
149
+
150
+ 1. **On every tag push** (`v*.*.*`):
151
+ - Checkout code
152
+ - Setup Node.js 20
153
+ - Install dependencies
154
+ - Build project
155
+ - Run tests
156
+ - Publish to npm (using NPM_TOKEN)
157
+ - Create GitHub release
158
+
159
+ 2. **On every GitHub release published**:
160
+ - Same steps as above
161
+
162
+ ## Checking Publication
163
+
164
+ After publishing, verify:
165
+
166
+ 1. **npm Registry**:
167
+ ```bash
168
+ npm info appclean
169
+ npm view appclean versions
170
+ ```
171
+ Or visit: https://www.npmjs.com/package/appclean
172
+
173
+ 2. **GitHub Releases**:
174
+ Visit: https://github.com/praveenkay/AppClean/releases
175
+
176
+ 3. **Local Installation**:
177
+ ```bash
178
+ npm install -g appclean@2.0.1
179
+ appclean --version
180
+ ```
181
+
182
+ ## Versioning Strategy
183
+
184
+ AppClean follows [Semantic Versioning](https://semver.org/):
185
+
186
+ - **Major** (X.0.0): Breaking changes
187
+ - **Minor** (X.Y.0): New features, backward compatible
188
+ - **Patch** (X.Y.Z): Bug fixes, no new features
189
+
190
+ Examples:
191
+ - Bug fix: 2.0.0 → 2.0.1
192
+ - New feature: 2.0.1 → 2.1.0
193
+ - Breaking change: 2.1.0 → 3.0.0
194
+
195
+ ## Troubleshooting
196
+
197
+ ### "Not logged into npm"
198
+
199
+ Run: `npm login`
200
+
201
+ ### GitHub Actions failing
202
+
203
+ Check:
204
+ 1. NPM_TOKEN is set in GitHub Secrets
205
+ 2. Token hasn't expired
206
+ 3. Token has publish permissions
207
+
208
+ ### Version mismatch errors
209
+
210
+ Ensure both files are updated:
211
+ - `package.json`
212
+ - `src/index.ts`
213
+
214
+ ## Release Checklist
215
+
216
+ - [ ] Update version in `package.json`
217
+ - [ ] Update VERSION constant in `src/index.ts`
218
+ - [ ] Run `npm run build`
219
+ - [ ] Run `npm test`
220
+ - [ ] Commit changes: `git commit -m "chore: Bump version to X.Y.Z"`
221
+ - [ ] Create tag: `git tag -a vX.Y.Z -m "Message"`
222
+ - [ ] Push: `git push origin main && git push origin vX.Y.Z`
223
+ - [ ] Verify npm publication
224
+ - [ ] Verify GitHub release created
225
+
226
+ ## Example: Releasing v2.0.1
227
+
228
+ ```bash
229
+ # 1. Update version files
230
+ echo 'Update package.json version to 2.0.1'
231
+ echo 'Update src/index.ts VERSION to 2.0.1'
232
+
233
+ # 2. Build and test
234
+ npm run build
235
+ npm test
236
+
237
+ # 3. Commit
238
+ git add package.json src/index.ts
239
+ git commit -m "chore: Bump version to 2.0.1"
240
+
241
+ # 4. Create release tag
242
+ git tag -a v2.0.1 -m "AppClean v2.0.1 - Bug fixes for GUI"
243
+
244
+ # 5. Push to trigger GitHub Actions
245
+ git push origin main
246
+ git push origin v2.0.1
247
+
248
+ # 6. Watch GitHub Actions publish automatically
249
+ # View at: https://github.com/praveenkay/AppClean/actions
250
+ ```
251
+
252
+ ## Support
253
+
254
+ For issues with publishing, check:
255
+ - GitHub Actions logs: https://github.com/praveenkay/AppClean/actions
256
+ - npm package page: https://www.npmjs.com/package/appclean
257
+ - GitHub releases: https://github.com/praveenkay/AppClean/releases
@@ -0,0 +1,176 @@
1
+ # AppClean Release - Quick Start
2
+
3
+ ## 🚀 Release in 5 Minutes
4
+
5
+ This is the fastest way to release a new version to both npm and GitHub.
6
+
7
+ ### Step 1: Update Version (30 seconds)
8
+ ```bash
9
+ # Update package.json
10
+ sed -i '' 's/"version": "2.0.2"/"version": "2.0.3"/' package.json
11
+
12
+ # Update src/index.ts
13
+ sed -i '' "s/const VERSION = '2.0.2'/const VERSION = '2.0.3'/" src/index.ts
14
+
15
+ # Verify
16
+ grep "version" package.json
17
+ grep "VERSION = " src/index.ts
18
+ ```
19
+
20
+ ### Step 2: Build & Test (1 minute)
21
+ ```bash
22
+ npm run build
23
+ npm test --if-present || true
24
+ ```
25
+
26
+ ### Step 3: Commit (30 seconds)
27
+ ```bash
28
+ git add package.json src/index.ts
29
+ git commit -m "chore: Bump version to 2.0.3"
30
+ ```
31
+
32
+ ### Step 4: Release (1 minute)
33
+ ```bash
34
+ git tag -a v2.0.3 -m "Release v2.0.3: Brief description here"
35
+ git push origin main
36
+ git push origin v2.0.3
37
+ ```
38
+
39
+ ---
40
+
41
+ ## ✨ What Happens Automatically
42
+
43
+ When you push the tag, GitHub Actions **automatically**:
44
+
45
+ 1. ✅ Checks out your code
46
+ 2. ✅ Sets up Node.js 20
47
+ 3. ✅ Installs dependencies
48
+ 4. ✅ Builds the project
49
+ 5. ✅ Runs tests
50
+ 6. ✅ **Publishes to npm** (using NPM_TOKEN)
51
+ 7. ✅ **Creates GitHub release** with changelog
52
+ 8. ✅ Posts success notification
53
+
54
+ **Total time**: ~3-5 minutes for the workflow to complete
55
+
56
+ ---
57
+
58
+ ## 🔍 Monitor Release
59
+
60
+ ### Watch GitHub Actions (Real-time)
61
+ ```bash
62
+ gh run list --workflow=npm-publish.yml -L 1
63
+ gh run view <run-number> --log
64
+ ```
65
+
66
+ Or visit: https://github.com/praveenkay/AppClean/actions
67
+
68
+ ### Verify npm Publication
69
+ ```bash
70
+ npm view appclean version
71
+ npm view appclean@2.0.3
72
+ ```
73
+
74
+ Or visit: https://www.npmjs.com/package/appclean
75
+
76
+ ### Verify GitHub Release
77
+ Visit: https://github.com/praveenkay/AppClean/releases
78
+
79
+ ---
80
+
81
+ ## 📋 Checklist Before Release
82
+
83
+ - [ ] Code changes tested locally
84
+ - [ ] `npm run build` succeeds
85
+ - [ ] `npm test` passes (or skipped)
86
+ - [ ] Version updated in `package.json`
87
+ - [ ] Version updated in `src/index.ts`
88
+ - [ ] Changes committed to main branch
89
+ - [ ] Ready to push tag to trigger workflow
90
+
91
+ ---
92
+
93
+ ## 🎯 Common Release Examples
94
+
95
+ ### Bug Fix Release (2.0.2 → 2.0.3)
96
+ ```bash
97
+ sed -i '' 's/"version": "2.0.2"/"version": "2.0.3"/' package.json
98
+ sed -i '' "s/const VERSION = '2.0.2'/const VERSION = '2.0.3'/" src/index.ts
99
+ npm run build
100
+ git add package.json src/index.ts
101
+ git commit -m "chore: Bump version to 2.0.3"
102
+ git tag -a v2.0.3 -m "Release v2.0.3: Bug fixes and improvements"
103
+ git push origin main && git push origin v2.0.3
104
+ ```
105
+
106
+ ### Feature Release (2.0.3 → 2.1.0)
107
+ ```bash
108
+ sed -i '' 's/"version": "2.0.3"/"version": "2.1.0"/' package.json
109
+ sed -i '' "s/const VERSION = '2.0.3'/const VERSION = '2.1.0'/" src/index.ts
110
+ npm run build
111
+ git add package.json src/index.ts
112
+ git commit -m "chore: Bump version to 2.1.0"
113
+ git tag -a v2.1.0 -m "Release v2.1.0: New features - browser auto-launch, improved detection"
114
+ git push origin main && git push origin v2.1.0
115
+ ```
116
+
117
+ ### Major Release (2.1.0 → 3.0.0)
118
+ ```bash
119
+ sed -i '' 's/"version": "2.1.0"/"version": "3.0.0"/' package.json
120
+ sed -i '' "s/const VERSION = '2.1.0'/const VERSION = '3.0.0'/" src/index.ts
121
+ npm run build
122
+ git add package.json src/index.ts
123
+ git commit -m "chore: Bump version to 3.0.0"
124
+ git tag -a v3.0.0 -m "Release v3.0.0: Major redesign - breaking changes included"
125
+ git push origin main && git push origin v3.0.0
126
+ ```
127
+
128
+ ---
129
+
130
+ ## ⚡ Status Dashboard
131
+
132
+ | Component | Status | Last Check |
133
+ |-----------|--------|-----------|
134
+ | npm Registry | ✅ Connected | 2026-03-20 |
135
+ | GitHub Secrets | ✅ NPM_TOKEN set | 2026-03-20 |
136
+ | Workflow (npm-publish.yml) | ✅ Active | 2026-03-20 |
137
+ | Test Workflow | ✅ Active | 2026-03-20 |
138
+ | Latest Release | ✅ v2.0.2 | 2026-03-20 |
139
+
140
+ ---
141
+
142
+ ## 🆘 Troubleshooting
143
+
144
+ ### Workflow Failed
145
+ 1. Check logs: `gh run view <number> --log`
146
+ 2. Common issues:
147
+ - NPM_TOKEN expired or revoked
148
+ - Tag format incorrect (must be v*.*.*)
149
+ - Build fails (`npm run build`)
150
+ - Tests fail (`npm test`)
151
+
152
+ ### Can't Push Tag
153
+ ```bash
154
+ git fetch origin --tags
155
+ git push origin v2.0.3 --force
156
+ ```
157
+
158
+ ### Version Mismatch
159
+ Make sure both files are updated:
160
+ ```bash
161
+ grep "version" package.json
162
+ grep "VERSION = " src/index.ts
163
+ ```
164
+
165
+ ---
166
+
167
+ ## 🔗 Useful Links
168
+
169
+ - 📦 npm Package: https://www.npmjs.com/package/appclean
170
+ - 🔖 GitHub Releases: https://github.com/praveenkay/AppClean/releases
171
+ - ⚙️ GitHub Actions: https://github.com/praveenkay/AppClean/actions
172
+ - 📖 Full Guide: https://github.com/praveenkay/AppClean/blob/main/RELEASE_GUIDE.md
173
+
174
+ ---
175
+
176
+ **Happy releasing! 🚀**
package/assets/logo.svg CHANGED
@@ -1,34 +1,50 @@
1
- <svg width="240" height="240" viewBox="0 0 240 240" xmlns="http://www.w3.org/2000/svg">
2
- <!-- Background Circle -->
3
- <circle cx="120" cy="120" r="115" fill="#0f172a" stroke="#3b82f6" stroke-width="2"/>
4
-
5
- <!-- Briefcase Body -->
6
- <rect x="55" y="70" width="130" height="90" rx="8" fill="#3b82f6"/>
7
-
8
- <!-- Briefcase Handle -->
9
- <path d="M 75 70 Q 75 40 120 40 Q 165 40 165 70" stroke="#3b82f6" stroke-width="6" fill="none" stroke-linecap="round"/>
10
-
11
- <!-- Briefcase Shine/Highlight -->
12
- <rect x="60" y="75" width="50" height="20" rx="4" fill="#60a5fa" opacity="0.6"/>
13
-
14
- <!-- Checkmark -->
15
- <g transform="translate(120, 120)">
16
- <!-- Checkmark Circle Background -->
17
- <circle cx="0" cy="0" r="35" fill="#10b981" opacity="0.95"/>
18
-
19
- <!-- Checkmark -->
20
- <path d="M -15 0 L -5 10 L 18 -15" stroke="#ffffff" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
1
+ <svg width="256" height="256" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg">
2
+ <defs>
3
+ <linearGradient id="logoGradient" x1="0%" y1="0%" x2="100%" y2="100%">
4
+ <stop offset="0%" style="stop-color:#3b82f6;stop-opacity:1" />
5
+ <stop offset="100%" style="stop-color:#1e40af;stop-opacity:1" />
6
+ </linearGradient>
7
+ <filter id="shadow" x="-50%" y="-50%" width="200%" height="200%">
8
+ <feDropShadow dx="0" dy="4" stdDeviation="6" flood-opacity="0.15"/>
9
+ </filter>
10
+ </defs>
11
+
12
+ <!-- Background -->
13
+ <rect width="256" height="256" fill="#ffffff" rx="64"/>
14
+
15
+ <!-- Main Icon Container -->
16
+ <g filter="url(#shadow)">
17
+ <!-- Broom Handle -->
18
+ <rect x="112" y="48" width="32" height="140" rx="16" fill="url(#logoGradient)"/>
19
+
20
+ <!-- Bristles Group 1 (Left) -->
21
+ <g opacity="0.9">
22
+ <path d="M 104 170 Q 85 185 75 195" stroke="url(#logoGradient)" stroke-width="6" fill="none" stroke-linecap="round"/>
23
+ <path d="M 104 175 Q 82 195 68 210" stroke="url(#logoGradient)" stroke-width="6" fill="none" stroke-linecap="round"/>
24
+ <path d="M 104 180 Q 80 205 62 225" stroke="url(#logoGradient)" stroke-width="6" fill="none" stroke-linecap="round"/>
25
+ </g>
26
+
27
+ <!-- Bristles Group 2 (Right) -->
28
+ <g opacity="0.9">
29
+ <path d="M 152 170 Q 171 185 181 195" stroke="url(#logoGradient)" stroke-width="6" fill="none" stroke-linecap="round"/>
30
+ <path d="M 152 175 Q 174 195 188 210" stroke="url(#logoGradient)" stroke-width="6" fill="none" stroke-linecap="round"/>
31
+ <path d="M 152 180 Q 176 205 194 225" stroke="url(#logoGradient)" stroke-width="6" fill="none" stroke-linecap="round"/>
32
+ </g>
33
+
34
+ <!-- Bristles Group 3 (Center) -->
35
+ <g opacity="0.95">
36
+ <path d="M 128 170 Q 128 190 128 210" stroke="url(#logoGradient)" stroke-width="6" fill="none" stroke-linecap="round"/>
37
+ <path d="M 120 175 Q 115 195 113 215" stroke="url(#logoGradient)" stroke-width="6" fill="none" stroke-linecap="round"/>
38
+ <path d="M 136 175 Q 141 195 143 215" stroke="url(#logoGradient)" stroke-width="6" fill="none" stroke-linecap="round"/>
39
+ </g>
40
+
41
+ <!-- Checkmark (Success indicator) -->
42
+ <g transform="translate(128, 65)" fill="none" stroke="#10b981" stroke-width="8" stroke-linecap="round" stroke-linejoin="round">
43
+ <circle cx="0" cy="0" r="22" fill="#10b981" opacity="0.1" stroke="none"/>
44
+ <path d="M -8 0 L -2 7 L 10 -5"/>
45
+ </g>
46
+
47
+ <!-- Decorative Accent Line -->
48
+ <rect x="80" y="32" width="96" height="2" rx="1" fill="url(#logoGradient)" opacity="0.3"/>
21
49
  </g>
22
-
23
- <!-- Decorative Circles (Success indicators) -->
24
- <circle cx="60" cy="160" r="4" fill="#10b981" opacity="0.7"/>
25
- <circle cx="180" cy="160" r="4" fill="#10b981" opacity="0.7"/>
26
-
27
- <!-- Text: AppClean -->
28
- <text x="120" y="200" font-family="Arial, sans-serif" font-size="18" font-weight="bold" fill="#ffffff" text-anchor="middle" letter-spacing="1">
29
- AppClean
30
- </text>
31
-
32
- <!-- Glow Effect -->
33
- <circle cx="120" cy="120" r="115" fill="none" stroke="#3b82f6" stroke-width="1" opacity="0.2" stroke-dasharray="5,5"/>
34
50
  </svg>