Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
9b46bcc
Merge pull request #2 from Lefix2/claude/codeclimate-error-visualizer…
Lefix2 Apr 30, 2026
89dc466
feat: replace testdata with generated mini-project
Apr 30, 2026
c76977f
test: update real-data tests to use new report filenames
Apr 30, 2026
888f7f8
Merge pull request #3 from Lefix2/feat/improve-testdata
Lefix2 Apr 30, 2026
dfffe20
fix: distinguish 'no patterns' from 'no files matched' in reloadConfig
Apr 30, 2026
4310bab
Merge pull request #4 from Lefix2/fix/reload-config-error-messages
Lefix2 Apr 30, 2026
3fd4997
fix: distinct error messages for invalid regex, missing file, no glob…
Apr 30, 2026
9245c6f
Merge pull request #5 from Lefix2/fix/error-messages-and-schema-valid…
Lefix2 Apr 30, 2026
e354e67
feat: dashboard redesign — 5-tab layout, severity palette, SVG charts…
Apr 30, 2026
3941d0c
Merge pull request #6 from Lefix2/feat/dashboard-redesign
Lefix2 Apr 30, 2026
29aeab3
feat: automate VS Code Marketplace release via GitHub Actions
Apr 30, 2026
3ce378c
feat: semantic release automation with versioned VSIX
Apr 30, 2026
f3857d6
Merge pull request #7 from Lefix2/feat/marketplace-release-automation
Lefix2 May 1, 2026
0f62285
feat: history tracking — manual snapshots, fingerprint diff, trends view
May 1, 2026
8eed47f
feat: click-to-open report, current-vs-snapshot diff, trends redesign
May 2, 2026
ea3fdb9
Merge pull request #8 from Lefix2/feat/history-tracking
Lefix2 May 2, 2026
003fa63
feat: history tracking, issue indicators, clickable navigation, sideb…
May 2, 2026
38ad82a
Merge pull request #10 from Lefix2/feat/history-tracking-v2
Lefix2 May 2, 2026
ae7a264
fix: create GitHub Release before uploading VSIX if it does not exist
claude May 3, 2026
1f56fd7
Merge pull request #11 from Lefix2/claude/fix-release-upload-t3wzo
Lefix2 May 3, 2026
ec95660
fix: bump Node to 22 in semantic-release workflow
claude May 3, 2026
d88c90e
fix: bump Node to 22 in semantic-release workflow
claude May 3, 2026
dd60b47
Merge pull request #12 from Lefix2/claude/fix-semantic-release-node-v…
Lefix2 May 3, 2026
ad491ae
fix: remove @semantic-release/git to avoid push to protected main
claude May 3, 2026
77d8d43
Merge pull request #13 from Lefix2/claude/fix-semantic-release-protec…
Lefix2 May 3, 2026
e9ade2d
Merge pull request #15 from Lefix2/claude/fix-release-upload-t3wzo
Lefix2 May 3, 2026
b6a2a8a
docs: marketplace README, technical docs, GitHub Pages, icon + CI fixes
May 3, 2026
ba9a4c5
feat: add marketplace icon (128x128 PNG)
May 3, 2026
edb70e6
docs: move screenshots to media/screenshots/, fix README image paths
May 3, 2026
530d37b
docs: move screenshots to docs/screenshots/
May 3, 2026
0dffd03
feat: hover tooltip + crosshair on Trends charts
May 5, 2026
ab2d8bf
feat: responsive trend charts with hover crosshair and snapshot limit
May 6, 2026
b0ce2c7
feat: improve in-file decoration hover tooltip
May 6, 2026
b019d2d
Merge pull request #16 from Lefix2/feat/trends-chart-improvements
Lefix2 May 6, 2026
7d403d5
feat: configurable background actions with on-save triggers and view …
May 6, 2026
e4cbed0
test: add action definitions to testdata project config
May 6, 2026
a99edea
test: grep-errors action — generate CodeClimate report from error key…
May 6, 2026
8ea491e
fix: prevent decoration reset on save by skipping re-apply when issue…
May 6, 2026
e83f6fa
feat: toggle in-file decorations command/setting + configurable histo…
May 6, 2026
75a76f9
test: move history file to reports/history/ and set historyPath in co…
May 6, 2026
5736f1f
fix: propagate new HistoryManager instance to panel after historyPath…
May 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: GitHub Pages

on:
push:
branches: [main]
paths:
- 'docs/**'
- '.github/workflows/pages.yml'
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

jobs:
deploy:
name: Deploy to GitHub Pages
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- uses: actions/checkout@v4

- name: Setup Pages
uses: actions/configure-pages@v5

- name: Build site
run: |
mkdir -p _site
# Convert markdown to HTML with a minimal Jekyll-free approach using pandoc
sudo apt-get install -y pandoc > /dev/null 2>&1
pandoc docs/index.md \
--standalone \
--metadata title="CodeClimate Visualiser — Technical Docs" \
--css https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/5.5.1/github-markdown-dark.min.css \
--html-q-tags \
-o _site/index.html
# Embed body in a centred container
sed -i 's/<body>/<body><article class="markdown-body" style="max-width:900px;margin:40px auto;padding:0 24px">/' _site/index.html
sed -i 's/<\/body>/<\/article><\/body>/' _site/index.html

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: _site

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
53 changes: 45 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,49 @@ on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
version:
description: 'Version to package (e.g. 1.2.3) — defaults to latest git tag'
required: false
publish:
description: 'Publish to VS Code Marketplace'
required: false
default: 'true'
type: choice
options: ['true', 'false']

jobs:
release:
name: Build, Test & Release
name: Package & Publish
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Node.js
uses: actions/setup-node@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: npm

- name: Install dependencies
run: npm ci

- name: Sync version
run: |
if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
npm version --no-git-tag-version "${GITHUB_REF_NAME#v}"
elif [[ -n "${{ github.event.inputs.version }}" ]]; then
npm version --no-git-tag-version "${{ github.event.inputs.version }}"
else
LATEST=$(git tag --sort=-v:refname | grep -E '^v[0-9]' | head -1)
[[ -n "$LATEST" ]] && npm version --no-git-tag-version "${LATEST#v}"
fi

- name: Compile TypeScript
run: npm run compile

Expand All @@ -33,8 +56,22 @@ jobs:
- name: Package extension
run: npm run package

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: '*.vsix'
generate_release_notes: true
- name: Create GitHub Release if absent
if: startsWith(github.ref, 'refs/tags/v')
run: gh release view "$GITHUB_REF_NAME" || gh release create "$GITHUB_REF_NAME" --generate-notes
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Upload VSIX to GitHub Release
if: startsWith(github.ref, 'refs/tags/v')
run: gh release upload "$GITHUB_REF_NAME" *.vsix --clobber
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Publish to VS Code Marketplace
if: >
(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')) ||
(github.event_name == 'workflow_dispatch' && github.event.inputs.publish == 'true')
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}
run: npm run publish
43 changes: 43 additions & 0 deletions .github/workflows/semantic-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Semantic Release

on:
push:
branches: [main]

jobs:
release:
name: Semantic Release
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false

- uses: actions/setup-node@v4
with:
node-version: '22'
cache: npm

- name: Install dependencies
run: npm ci

- name: Compile TypeScript
run: npm run compile

- name: Run tests
run: npm test

- name: Semantic Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GIT_AUTHOR_NAME: github-actions[bot]
GIT_AUTHOR_EMAIL: github-actions[bot]@users.noreply.github.com
GIT_COMMITTER_NAME: github-actions[bot]
GIT_COMMITTER_EMAIL: github-actions[bot]@users.noreply.github.com
run: npx semantic-release
9 changes: 9 additions & 0 deletions .releaserc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"branches": ["main"],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
["@semantic-release/npm", { "npmPublish": false }],
["@semantic-release/github", { "assets": [] }]
]
}
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"request": "launch",
"args": ["--extensionDevelopmentPath=${workspaceFolder}", "${workspaceFolder}/testdata"],
"outFiles": ["${workspaceFolder}/out/**/*.js"],
"preLaunchTask": "${defaultBuildTask}"
"preLaunchTask": "Build & seed history"
}
]
}
25 changes: 18 additions & 7 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,27 @@
"version": "2.0.0",
"tasks": [
{
"label": "npm: compile",
"type": "npm",
"script": "compile",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "silent"
},
"group": { "kind": "build", "isDefault": true },
"presentation": { "reveal": "silent" },
"problemMatcher": "$tsc"
},
{
"label": "Seed test snapshots",
"type": "shell",
"command": "node scripts/gen-test-snapshots.js",
"presentation": { "reveal": "silent", "panel": "shared" },
"problemMatcher": []
},
{
"label": "Build & seed history",
"dependsOrder": "sequence",
"dependsOn": ["npm: compile", "Seed test snapshots"],
"group": { "kind": "build", "isDefault": false },
"presentation": { "reveal": "silent" },
"problemMatcher": []
}
]
}
5 changes: 5 additions & 0 deletions .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,13 @@ src/**
testdata/**
out/**/*.map
node_modules/**
!node_modules/@vscode/codicons/dist/codicon.css
!node_modules/@vscode/codicons/dist/codicon.ttf
**/.gitignore
**/.vscodeignore
tsconfig.json
*.vsix
.claude/**
tmp_for_claude/**
media/icon-color.svg
docs/**
Loading