diff --git a/.github/workflows/upgrade-bridge.yml b/.github/workflows/upgrade-bridge.yml
index a97b50bf..dc395c56 100644
--- a/.github/workflows/upgrade-bridge.yml
+++ b/.github/workflows/upgrade-bridge.yml
@@ -7,6 +7,11 @@ on:
       - upgrade-bridge
   workflow_dispatch:
     inputs:
+      kind:
+        description: Overrides the kind of upgrade. Must be one of `all`, `bridge`, `provider`, `code`, `pf`, or `pulumi`.
+        required: false
+        type: string
+        default: "bridge"
       target-bridge-version:
         description: pulumi-terraform-bridge version or hash reference
         required: false
@@ -50,7 +55,7 @@ jobs:
       if: github.event_name == 'workflow_dispatch'
       uses: pulumi/pulumi-upgrade-provider-action@v0.0.11
       with:
-        kind: bridge
+        kind: ${{ inputs.kind }}
         email: bot@pulumi.com
         username: pulumi-bot
         automerge: ${{ inputs.automerge }}
@@ -62,7 +67,7 @@ jobs:
       if: github.event_name == 'repository_dispatch'
       uses: pulumi/pulumi-upgrade-provider-action@v0.0.11
       with:
-        kind: bridge
+        kind: ${{ inputs.kind }}
         email: bot@pulumi.com
         username: pulumi-bot
         automerge: ${{ github.event.client_payload.automerge }}
diff --git a/.golangci.yml b/.golangci.yml
index 565aff5d..ad13b52e 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -18,9 +18,19 @@ linters:
   - structcheck
   - unconvert
   - varcheck
+  - gci
   enable-all: false
 run:
   skip-files:
   - schema.go
   - pulumiManifest.go
   timeout: 20m
+linters-settings:
+  gci:
+    sections:
+      - standard # Standard section: captures all standard library packages.
+      - blank # Blank section: contains all blank imports.
+      - default # Default section: contains all imports that could not be matched to another section type.
+      - prefix(github.com/pulumi/) # Custom section: groups all imports with the github.com/pulumi/ prefix.
+      - prefix(github.com/pulumi/pulumi-splunk) # Custom section: local imports
+    custom-order: true
diff --git a/Makefile b/Makefile
index e1717b8e..db9b6916 100644
--- a/Makefile
+++ b/Makefile
@@ -98,6 +98,11 @@ install_plugins: .pulumi/bin/pulumi
 lint_provider: provider
 	cd provider && golangci-lint run -c ../.golangci.yml
 
+# `lint_provider.fix` is a utility target meant to be run manually
+# that will run the linter and fix errors when possible.
+lint_provider.fix:
+	cd provider && golangci-lint run -c ../.golangci.yml --fix
+
 # `make provider_no_deps` builds the provider binary directly, without ensuring that 
 # `cmd/pulumi-resource-splunk/schema.json` is valid and up to date. 
 # To create a release ready binary, you should use `make provider`.
diff --git a/provider/cmd/pulumi-resource-splunk/main.go b/provider/cmd/pulumi-resource-splunk/main.go
index 40a8456c..e710d469 100644
--- a/provider/cmd/pulumi-resource-splunk/main.go
+++ b/provider/cmd/pulumi-resource-splunk/main.go
@@ -19,9 +19,10 @@ package main
 import (
 	_ "embed"
 
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
+
 	splunk "github.com/pulumi/pulumi-splunk/provider"
 	"github.com/pulumi/pulumi-splunk/provider/pkg/version"
-	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 )
 
 //go:embed schema-embed.json
diff --git a/provider/resources.go b/provider/resources.go
index 5cd6bdf0..0eea0763 100644
--- a/provider/resources.go
+++ b/provider/resources.go
@@ -20,11 +20,13 @@ import (
 	"unicode"
 
 	"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
-	"github.com/pulumi/pulumi-splunk/provider/pkg/version"
+	"github.com/splunk/terraform-provider-splunk/splunk"
+
 	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v1"
 	"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
-	"github.com/splunk/terraform-provider-splunk/splunk"
+
+	"github.com/pulumi/pulumi-splunk/provider/pkg/version"
 )
 
 // all of the token components used below.