Skip to content

Commit 88e9c68

Browse files
committed
Update documentation to match current codebase
Rewrote README in plain, accessible language. Removed duplicate sections, technical jargon, and formatting clutter. Added CI/CD workflow descriptions and a trademarks disclaimer. Updated agents.md with current font sizes, input control values, and new sections for ChatInputControl, hotkey infrastructure, efficiency mode, CI/CD workflows, and native interop.
1 parent 4d56bbe commit 88e9c68

File tree

5 files changed

+363
-198
lines changed

5 files changed

+363
-198
lines changed

.github/workflows/build.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Build
2+
3+
on:
4+
pull_request:
5+
branches: ["*"]
6+
workflow_call:
7+
inputs:
8+
version:
9+
description: "Version string (e.g. 0.1.0)"
10+
required: false
11+
type: string
12+
13+
jobs:
14+
build:
15+
runs-on: windows-latest
16+
strategy:
17+
matrix:
18+
platform: [x64, ARM64]
19+
include:
20+
- platform: x64
21+
rid: win-x64
22+
- platform: ARM64
23+
rid: win-arm64
24+
25+
steps:
26+
- uses: actions/checkout@v4
27+
28+
- name: Setup .NET 11 Preview
29+
uses: actions/setup-dotnet@v4
30+
with:
31+
dotnet-version: "11.0.x"
32+
dotnet-quality: "preview"
33+
34+
- name: Restore dependencies
35+
run: dotnet restore CopilotTaskbarApp/CopilotTaskbarApp.csproj -r ${{ matrix.rid }} -p:Platform=${{ matrix.platform }}
36+
37+
- name: Build
38+
run: dotnet build CopilotTaskbarApp/CopilotTaskbarApp.csproj -c Release -r ${{ matrix.rid }} -p:Platform=${{ matrix.platform }} --no-restore
39+
40+
- name: Publish
41+
if: inputs.version != ''
42+
run: dotnet publish CopilotTaskbarApp/CopilotTaskbarApp.csproj -c Release -r ${{ matrix.rid }} -p:Platform=${{ matrix.platform }} --no-restore -o publish/${{ matrix.rid }}
43+
44+
- name: Create zip
45+
if: inputs.version != ''
46+
shell: pwsh
47+
run: Compress-Archive -Path publish/${{ matrix.rid }}/* -DestinationPath CopilotTaskbarApp-${{ inputs.version }}-${{ matrix.rid }}.zip
48+
49+
- name: Upload artifact
50+
if: inputs.version != ''
51+
uses: actions/upload-artifact@v4
52+
with:
53+
name: CopilotTaskbarApp-${{ inputs.version }}-${{ matrix.rid }}
54+
path: CopilotTaskbarApp-${{ inputs.version }}-${{ matrix.rid }}.zip

.github/workflows/release.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Release
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version:
7+
description: "Release version (e.g. 0.1.0)"
8+
required: true
9+
type: string
10+
11+
permissions:
12+
contents: write
13+
14+
jobs:
15+
build:
16+
uses: ./.github/workflows/build.yml
17+
with:
18+
version: ${{ inputs.version }}
19+
20+
release:
21+
needs: build
22+
runs-on: ubuntu-latest
23+
outputs:
24+
tag: v${{ inputs.version }}
25+
steps:
26+
- uses: actions/checkout@v4
27+
with:
28+
fetch-depth: 0
29+
30+
- name: Download x64 artifact
31+
uses: actions/download-artifact@v4
32+
with:
33+
name: CopilotTaskbarApp-${{ inputs.version }}-win-x64
34+
path: artifacts
35+
36+
- name: Download arm64 artifact
37+
uses: actions/download-artifact@v4
38+
with:
39+
name: CopilotTaskbarApp-${{ inputs.version }}-win-arm64
40+
path: artifacts
41+
42+
- name: Create tag
43+
run: |
44+
git config user.name "github-actions[bot]"
45+
git config user.email "github-actions[bot]@users.noreply.github.com"
46+
git tag -a "v${{ inputs.version }}" -m "Release v${{ inputs.version }}"
47+
git push origin "v${{ inputs.version }}"
48+
49+
- name: Create GitHub Release
50+
uses: softprops/action-gh-release@v2
51+
with:
52+
tag_name: v${{ inputs.version }}
53+
name: v${{ inputs.version }}
54+
generate_release_notes: true
55+
files: |
56+
artifacts/CopilotTaskbarApp-${{ inputs.version }}-win-x64.zip
57+
artifacts/CopilotTaskbarApp-${{ inputs.version }}-win-arm64.zip
58+
59+
winget:
60+
needs: release
61+
uses: ./.github/workflows/winget-release.yml
62+
with:
63+
tag: v${{ inputs.version }}
64+
version: ${{ inputs.version }}
65+
secrets:
66+
WINGET_PAT: ${{ secrets.WINGET_PAT }}
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
name: Publish to WinGet
2+
3+
on:
4+
release:
5+
types: [released]
6+
workflow_call:
7+
inputs:
8+
tag:
9+
description: "Release tag (e.g. v0.1.0)"
10+
required: true
11+
type: string
12+
version:
13+
description: "Version string without v prefix (e.g. 0.1.0)"
14+
required: true
15+
type: string
16+
secrets:
17+
WINGET_PAT:
18+
required: true
19+
20+
jobs:
21+
publish:
22+
runs-on: windows-latest
23+
steps:
24+
- name: Resolve version
25+
id: version
26+
shell: pwsh
27+
run: |
28+
$tag = "${{ inputs.tag || github.event.release.tag_name }}"
29+
$version = "${{ inputs.version }}"
30+
if (-not $version) { $version = $tag.TrimStart('v') }
31+
"version=$version" >> $env:GITHUB_OUTPUT
32+
"tag=$tag" >> $env:GITHUB_OUTPUT
33+
34+
- name: Download release assets
35+
shell: pwsh
36+
run: |
37+
$tag = "${{ steps.version.outputs.tag }}"
38+
$version = "${{ steps.version.outputs.version }}"
39+
$baseUrl = "https://github.com/${{ github.repository }}/releases/download/$tag"
40+
Invoke-WebRequest "$baseUrl/CopilotTaskbarApp-$version-win-x64.zip" -OutFile x64.zip
41+
Invoke-WebRequest "$baseUrl/CopilotTaskbarApp-$version-win-arm64.zip" -OutFile arm64.zip
42+
43+
- name: Compute SHA256 hashes
44+
id: hash
45+
shell: pwsh
46+
run: |
47+
$x64Hash = (Get-FileHash x64.zip -Algorithm SHA256).Hash
48+
$arm64Hash = (Get-FileHash arm64.zip -Algorithm SHA256).Hash
49+
"x64=$x64Hash" >> $env:GITHUB_OUTPUT
50+
"arm64=$arm64Hash" >> $env:GITHUB_OUTPUT
51+
52+
- name: Create winget manifest
53+
shell: pwsh
54+
run: |
55+
$version = "${{ steps.version.outputs.version }}"
56+
$tag = "${{ steps.version.outputs.tag }}"
57+
$baseUrl = "https://github.com/${{ github.repository }}/releases/download/$tag"
58+
$dir = "manifests/s/sirredbeard/CopilotTaskbarApp/$version"
59+
New-Item -ItemType Directory -Path $dir -Force | Out-Null
60+
61+
# Version manifest
62+
@"
63+
# yaml-language-server: `$schema=https://aka.ms/winget-manifest.version.1.9.0.schema.json
64+
PackageIdentifier: sirredbeard.CopilotTaskbarApp
65+
PackageVersion: $version
66+
DefaultLocale: en-US
67+
ManifestType: version
68+
ManifestVersion: 1.9.0
69+
"@ -replace '(?m)^ ', '' | Set-Content "$dir/sirredbeard.CopilotTaskbarApp.yaml" -NoNewline
70+
71+
# Default locale manifest
72+
@"
73+
# yaml-language-server: `$schema=https://aka.ms/winget-manifest.defaultLocale.1.9.0.schema.json
74+
PackageIdentifier: sirredbeard.CopilotTaskbarApp
75+
PackageVersion: $version
76+
PackageLocale: en-US
77+
Publisher: sirredbeard
78+
PublisherUrl: https://github.com/sirredbeard
79+
PackageName: Copilot Taskbar
80+
PackageUrl: https://github.com/${{ github.repository }}
81+
License: MIT
82+
LicenseUrl: https://github.com/${{ github.repository }}/blob/main/LICENSE
83+
ShortDescription: System tray access to GitHub Copilot with automatic context awareness
84+
Tags:
85+
- copilot
86+
- github
87+
- ai
88+
- developer-tools
89+
ManifestType: defaultLocale
90+
ManifestVersion: 1.9.0
91+
"@ -replace '(?m)^ ', '' | Set-Content "$dir/sirredbeard.CopilotTaskbarApp.locale.en-US.yaml" -NoNewline
92+
93+
# Installer manifest
94+
@"
95+
# yaml-language-server: `$schema=https://aka.ms/winget-manifest.installer.1.9.0.schema.json
96+
PackageIdentifier: sirredbeard.CopilotTaskbarApp
97+
PackageVersion: $version
98+
MinimumOSVersion: 10.0.17763.0
99+
InstallerType: zip
100+
NestedInstallerType: portable
101+
NestedInstallerFiles:
102+
- RelativeFilePath: CopilotTaskbarApp.exe
103+
PortableCommandAlias: copilot-taskbar
104+
Installers:
105+
- Architecture: x64
106+
InstallerUrl: $baseUrl/CopilotTaskbarApp-$version-win-x64.zip
107+
InstallerSha256: ${{ steps.hash.outputs.x64 }}
108+
- Architecture: arm64
109+
InstallerUrl: $baseUrl/CopilotTaskbarApp-$version-win-arm64.zip
110+
InstallerSha256: ${{ steps.hash.outputs.arm64 }}
111+
ManifestType: installer
112+
ManifestVersion: 1.9.0
113+
"@ -replace '(?m)^ ', '' | Set-Content "$dir/sirredbeard.CopilotTaskbarApp.installer.yaml" -NoNewline
114+
115+
- name: Install wingetcreate
116+
shell: pwsh
117+
run: |
118+
Invoke-WebRequest "https://aka.ms/wingetcreate/latest" -OutFile wingetcreate.exe
119+
120+
- name: Validate and submit manifest
121+
shell: pwsh
122+
run: |
123+
$version = "${{ steps.version.outputs.version }}"
124+
$dir = "manifests/s/sirredbeard/CopilotTaskbarApp/$version"
125+
126+
.\wingetcreate.exe submit --token "${{ secrets.WINGET_PAT }}" $dir

0 commit comments

Comments
 (0)