Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -483,5 +483,7 @@ $RECYCLE.BIN/
# Vim temporary swap files
*.swp

# Claude Code per-machine local settings
.claude/settings.local.json
# Claude Code per-machine local state (settings, locks, scheduled tasks).
# Keep .claude/settings.json trackable in case shared project settings are added.
.claude/
!.claude/settings.json
13 changes: 3 additions & 10 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,6 @@ there.
frameworks.
- Code style follows the default .NET conventions; primary constructors are
used throughout for DI (e.g. `Searcher(...)`, `ResultCreator(...)`).
- The plugin ID in `plugin.json` (`EE691863-...`) and the one hardcoded in
`Build-Plugin.ps1` (`BD32A62C-...`) currently differ. The manifest is
authoritative — the script's value is unused (it isn't written into the
output) but should be aligned the next time the script is touched.

## Known wrinkles

- `Flow.ConfluenceSearch.Tests/` (with an `s`) sits next to the real
`Flow.ConfluenceSearch.Test/` and contains an empty file. It is not in
the solution; safe to delete if cleaning up.
- `Build-Plugin.ps1` and `Start.ps1` derive the plugin id, version, and
folder name from `plugin.json` at runtime — don't add hard-coded
versions when extending those scripts.
1 change: 0 additions & 1 deletion Flow.ConfluenceSearch.Tests/Search/ResultContextTests.cs

This file was deleted.

8 changes: 5 additions & 3 deletions Flow.ConfluenceSearch/Build-Plugin.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ param(

$ErrorActionPreference = "Stop"

# Plugin information from plugin.json
$PluginId = "BD32A62C-6F98-4541-AE8E-17B46458595F"
# Plugin information sourced from plugin.json
$PluginManifest = Get-Content -Raw "plugin.json" | ConvertFrom-Json
$PluginId = $PluginManifest.ID
$PluginVersion = $PluginManifest.Version
$PluginName = "Flow.ConfluenceSearch"

Write-Host "Building Flow Launcher Plugin: $PluginName" -ForegroundColor Green
Expand Down Expand Up @@ -85,7 +87,7 @@ Get-ChildItem "$BinPath\*.dll" | Where-Object {
}

# Create ZIP file
$ZipFileName = "$PluginName-v1.0.1.zip"
$ZipFileName = "$PluginName-v$PluginVersion.zip"
$ZipPath = Join-Path $OutputPath $ZipFileName

Write-Host "Creating ZIP package: $ZipFileName" -ForegroundColor Yellow
Expand Down
11 changes: 10 additions & 1 deletion Flow.ConfluenceSearch/Start.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,19 @@
param (
[string]$SolutionPath = ".\Flow.ConfluenceSearch.csproj", # Path to solution or csproj file
[string]$BuildConfig = "Debug", # Or "Release"
[string]$PluginFolderName = "Confluence Search-1.0.1", # Plugin name (folder name under Plugins)
[string]$PluginFolderName, # Plugin folder name under Plugins; derived from plugin.json if omitted
[string]$FlowLauncherPath = "$env:LOCALAPPDATA\FlowLauncher\Flow.Launcher.exe" # Default path
)

if (-not $PluginFolderName) {
$manifestPath = Join-Path -Path (Split-Path $SolutionPath) -ChildPath "plugin.json"
if (-not (Test-Path $manifestPath)) {
$manifestPath = Join-Path -Path $PSScriptRoot -ChildPath "plugin.json"
}
$manifest = Get-Content -Raw $manifestPath | ConvertFrom-Json
$PluginFolderName = "$($manifest.Name)-$($manifest.Version)"
}

Write-Host "----------------------------------------"
Write-Host "🔧 Flow Launcher Plugin Build Script"
Write-Host "----------------------------------------"
Expand Down
8 changes: 2 additions & 6 deletions docs/DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,8 @@ ZIP can be installed via Flow Launcher → Settings → Plugins → Install Plug
The single source of truth for the plugin version is the `Version` field in
`Flow.ConfluenceSearch/plugin.json`. Bump it before merging a release-worthy
change. The publish workflow tags `v<Version>` and uploads the ZIP under
that name.

> The plugin GUID in `plugin.json` (`EE691863-…`) and the one hard-coded in
> `Build-Plugin.ps1` (`BD32A62C-…`) currently differ. Flow Launcher reads
> the manifest, so the discrepancy is harmless today, but the script's
> value should be aligned the next time it's touched.
that name. `Build-Plugin.ps1` and `Start.ps1` read `plugin.json` at runtime
for the version and id, so a single bump propagates everywhere.

## Code conventions

Expand Down
Loading