From 1a0b6389f0624d5696235bb6343c7a7837ed8da3 Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Tue, 24 Mar 2026 15:11:31 -0300 Subject: [PATCH] chore: update generated `.crush/.gitignore` to not ignore skills --- .crush/.gitignore | 5 +++++ internal/cmd/gitignore/default | 5 +++++ internal/cmd/gitignore/old | 1 + internal/cmd/root.go | 14 ++++++++++++-- 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 .crush/.gitignore create mode 100644 internal/cmd/gitignore/default create mode 100644 internal/cmd/gitignore/old diff --git a/.crush/.gitignore b/.crush/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..d90caca51a3c10c96376d5ced388144e633675fd --- /dev/null +++ b/.crush/.gitignore @@ -0,0 +1,5 @@ +# This file is automatically generated by Crush. +* +!.gitignore +!skills/ +!skills/** diff --git a/internal/cmd/gitignore/default b/internal/cmd/gitignore/default new file mode 100644 index 0000000000000000000000000000000000000000..d90caca51a3c10c96376d5ced388144e633675fd --- /dev/null +++ b/internal/cmd/gitignore/default @@ -0,0 +1,5 @@ +# This file is automatically generated by Crush. +* +!.gitignore +!skills/ +!skills/** diff --git a/internal/cmd/gitignore/old b/internal/cmd/gitignore/old new file mode 100644 index 0000000000000000000000000000000000000000..72e8ffc0db8aad71a934dd11e5968bd5109e54b4 --- /dev/null +++ b/internal/cmd/gitignore/old @@ -0,0 +1 @@ +* diff --git a/internal/cmd/root.go b/internal/cmd/root.go index 39453f76a7dee055c17b3c220128a20242846c48..5890961af8e5a3727df1b4624414fd63782f4dee 100644 --- a/internal/cmd/root.go +++ b/internal/cmd/root.go @@ -3,6 +3,7 @@ package cmd import ( "bytes" "context" + _ "embed" "errors" "fmt" "io" @@ -305,11 +306,20 @@ func createDotCrushDir(dir string) error { } gitIgnorePath := filepath.Join(dir, ".gitignore") - if _, err := os.Stat(gitIgnorePath); os.IsNotExist(err) { - if err := os.WriteFile(gitIgnorePath, []byte("*\n"), 0o644); err != nil { + content, err := os.ReadFile(gitIgnorePath) + + // create or update if old version + if os.IsNotExist(err) || string(content) == oldGitIgnore { + if err := os.WriteFile(gitIgnorePath, []byte(defaultGitIgnore), 0o644); err != nil { return fmt.Errorf("failed to create .gitignore file: %q %w", gitIgnorePath, err) } } return nil } + +//go:embed gitignore/old +var oldGitIgnore string + +//go:embed gitignore/default +var defaultGitIgnore string