Skip to content

Commit 2185bd6

Browse files
authored
feat(release): v0.5.0 - Project Pillar & Quality Overhaul (#84)
This release introduces the 'project summary', 'onboard', and 'issues close' commands. It refactors 'export-upstream' to 'library vendor', adds secure 'pass' integration for GitHub tokens, and includes a massive code quality pass resolving numerous linter violations.
1 parent 45de194 commit 2185bd6

47 files changed

Lines changed: 784 additions & 131 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.golangci.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ linters:
5858
# - godox # TODOs
5959
# - goprintffuncname # Printf-like naming
6060
# - tagliatelle # JSON struct tags
61-
- nolintlint
61+
# - nolintlint
6262

6363
# --- TESTING ---
6464
# - testifylint
@@ -75,6 +75,8 @@ linters:
7575
ireturn:
7676
allow:
7777
- error
78+
- github.com/contextvibes/cli/internal/workitem.Provider
79+
- github.com/contextvibes/cli/internal/exec.CommandExecutor
7880
depguard:
7981
rules:
8082
main:

.idx/contextvibes.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ pkgs.stdenv.mkDerivation {
99
# This modifies the fixed-output derivation created by fetchurl.
1010
src = (pkgs.fetchurl {
1111
# URL for the release asset.
12-
url = "https://github.com/contextvibes/cli/releases/download/v0.4.1-rc3/contextvibes";
12+
url = "https://github.com/contextvibes/cli/releases/download/v0.4.1/contextvibes";
1313
# SHA256 hash of the downloaded file.
14-
sha256 = "sha256:1aa09c34c750056e78a69e84f6d7c38a0c6220e3dc46af460256f9a38978ff8a";
14+
sha256 = "sha256:09db14ee2d8258aaedd66ac507c6045cb260efd6bc1acb3bbc22e59db70bdcd7";
1515
}).overrideAttrs (finalAttrs: previousAttrs: {
1616
# Enable structured attributes to allow passing complex sets.
1717
__structuredAttrs = true;

cmd/craft/kickoff/kickoff.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ var kickoffLongDescription string
1818
var KickoffCmd = &cobra.Command{
1919
Use: "kickoff",
2020
Short: "Starts an AI-guided strategic project planning session.",
21-
//nolint:revive // Unused args are expected in Cobra RunE.
21+
2222
RunE: func(cmd *cobra.Command, _ []string) error {
2323
presenter := ui.NewPresenter(cmd.OutOrStdout(), cmd.ErrOrStderr())
2424

cmd/factory/apply/apply.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ func handleJSONPlan(ctx context.Context, presenter *ui.Presenter, data []byte) e
121121
switch step.Type {
122122
case "file_modification":
123123
for _, changeSet := range step.Changes {
124-
//nolint:gosec // Reading file to modify is intended.
125124
original, _ := os.ReadFile(changeSet.FilePath)
126125
current := string(original)
127126

cmd/factory/finish/finish.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ import (
66
"errors"
77
"fmt"
88

9-
//nolint:revive // Blank import for side effects (though none obvious here, keeping for safety).
10-
_ "os"
11-
129
"github.com/contextvibes/cli/internal/cmddocs"
1310
"github.com/contextvibes/cli/internal/git"
1411
"github.com/contextvibes/cli/internal/globals"

cmd/factory/tidy/tidy.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ import (
66
"errors"
77
"fmt"
88

9-
//nolint:revive // Blank import for side effects (though none obvious here, keeping for safety).
10-
_ "os"
11-
129
"github.com/contextvibes/cli/internal/cmddocs"
1310
"github.com/contextvibes/cli/internal/git"
1411
"github.com/contextvibes/cli/internal/globals"

cmd/feedback/feedback.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ var feedbackLongDescription string
2525

2626
// newProviderForRepo creates a workitem.Provider for a specific owner/repo string.
2727
//
28-
//nolint:ireturn // Returning interface is intended for provider abstraction.
28+
2929
func newProviderForRepo(
3030
ctx context.Context,
3131
logger *slog.Logger,

cmd/library/index/index.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ var (
3535
var ErrSkipDocument = errors.New("skip document")
3636

3737
// DocumentMetadata represents the metadata extracted from a document.
38-
//
39-
//nolint:exhaustruct // Struct is populated from YAML/JSON.
4038
type DocumentMetadata struct {
4139
ID string `json:"id"`
4240
FileExtension string `json:"fileExtension"`
@@ -115,7 +113,6 @@ var IndexCmd = &cobra.Command{
115113
},
116114
}
117115

118-
//nolint:revive // Unused parameters kept for future logic.
119116
func processDirectory(
120117
rootPath, baseDirName string,
121118
_ map[string]bool,
@@ -174,7 +171,6 @@ func processDirectory(
174171
return metadataList, nil
175172
}
176173

177-
//nolint:revive // Unused parameters kept for future logic.
178174
func parseFrontMatterAndDerive(
179175
filePath, rootPath, _ string,
180176
fileInfo fs.FileInfo,
@@ -215,7 +211,6 @@ func parseFrontMatterAndDerive(
215211
}
216212

217213
var fmData tempFrontMatter
218-
//nolint:noinlineerr // Inline check is standard for unmarshal.
219214
if err := yaml.Unmarshal([]byte(strings.Join(frontMatterLines, "\n")), &fmData); err != nil {
220215
return nil, fmt.Errorf("failed to parse front matter: %w", err)
221216
}

cmd/library/library.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ package library
44
import (
55
"github.com/contextvibes/cli/cmd/library/index"
66
"github.com/contextvibes/cli/cmd/library/systemprompt"
7-
"github.com/contextvibes/cli/cmd/library/thea" // Imported
7+
"github.com/contextvibes/cli/cmd/library/thea"
8+
"github.com/contextvibes/cli/cmd/library/vendor" // Added
89
"github.com/spf13/cobra"
910
)
1011

@@ -19,6 +20,7 @@ var LibraryCmd = &cobra.Command{
1920
//nolint:gochecknoinits // Cobra requires init() for command registration.
2021
func init() {
2122
LibraryCmd.AddCommand(index.IndexCmd)
22-
LibraryCmd.AddCommand(thea.TheaCmd) // Uncommented/Added
23+
LibraryCmd.AddCommand(thea.TheaCmd)
2324
LibraryCmd.AddCommand(systemprompt.SystemPromptCmd)
25+
LibraryCmd.AddCommand(vendor.VendorCmd) // Added
2426
}

cmd/library/systemprompt/systemprompt.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ var SystemPromptCmd = &cobra.Command{
3535
loadedAppConfig := globals.LoadedAppConfig
3636

3737
basePath := "docs/prompts/system"
38-
//nolint:gosec // Reading core prompt file is intended.
38+
3939
content, err := os.ReadFile(filepath.Join(basePath, "core.md"))
4040
if err != nil {
4141
//nolint:wrapcheck // Wrapping is handled by caller.

0 commit comments

Comments
 (0)