mirror of
https://github.com/ivuorinen/gibidify.git
synced 2026-01-26 03:24:05 +00:00
* build: update Go 1.25, CI workflows, and build tooling - Upgrade to Go 1.25 - Add benchmark targets to Makefile - Implement parallel gosec execution - Lock tool versions for reproducibility - Add shellcheck directives to scripts - Update CI workflows with improved caching * refactor: migrate from golangci-lint to revive - Replace golangci-lint with revive for linting - Configure comprehensive revive rules - Fix all EditorConfig violations - Add yamllint and yamlfmt support - Remove deprecated .golangci.yml * refactor: rename utils to shared and deduplicate code - Rename utils package to shared - Add shared constants package - Deduplicate constants across packages - Address CodeRabbit review feedback * fix: resolve SonarQube issues and add safety guards - Fix all 73 SonarQube OPEN issues - Add nil guards for resourceMonitor, backpressure, metricsCollector - Implement io.Closer for headerFileReader - Propagate errors from processing helpers - Add metrics and templates packages - Improve error handling across codebase * test: improve test infrastructure and coverage - Add benchmarks for cli, fileproc, metrics - Improve test coverage for cli, fileproc, config - Refactor tests with helper functions - Add shared test constants - Fix test function naming conventions - Reduce cognitive complexity in benchmark tests * docs: update documentation and configuration examples - Update CLAUDE.md with current project state - Refresh README with new features - Add usage and configuration examples - Add SonarQube project configuration - Consolidate config.example.yaml * fix: resolve shellcheck warnings in scripts - Use ./*.go instead of *.go to prevent dash-prefixed filenames from being interpreted as options (SC2035) - Remove unreachable return statement after exit (SC2317) - Remove obsolete gibidiutils/ directory reference * chore(deps): upgrade go dependencies * chore(lint): megalinter fixes * fix: improve test coverage and fix file descriptor leaks - Add defer r.Close() to fix pipe file descriptor leaks in benchmark tests - Refactor TestProcessorConfigureFileTypes with helper functions and assertions - Refactor TestProcessorLogFinalStats with output capture and keyword verification - Use shared constants instead of literal strings (TestFilePNG, FormatMarkdown, etc.) - Reduce cognitive complexity by extracting helper functions * fix: align test comments with function names Remove underscores from test comments to match actual function names: - benchmark/benchmark_test.go (2 fixes) - fileproc/filetypes_config_test.go (4 fixes) - fileproc/filetypes_registry_test.go (6 fixes) - fileproc/processor_test.go (6 fixes) - fileproc/resource_monitor_types_test.go (4 fixes) - fileproc/writer_test.go (3 fixes) * fix: various test improvements and bug fixes - Remove duplicate maxCacheSize check in filetypes_registry_test.go - Shorten long comment in processor_test.go to stay under 120 chars - Remove flaky time.Sleep in collector_test.go, use >= 0 assertion - Close pipe reader in benchmark_test.go to fix file descriptor leak - Use ContinueOnError in flags_test.go to match ResetFlags behavior - Add nil check for p.ui in processor_workers.go before UpdateProgress - Fix resource_monitor_validation_test.go by setting hardMemoryLimitBytes directly * chore(yaml): add missing document start markers Add --- document start to YAML files to satisfy yamllint: - .github/workflows/codeql.yml - .github/workflows/build-test-publish.yml - .github/workflows/security.yml - .github/actions/setup/action.yml * fix: guard nil resourceMonitor and fix test deadlock - Guard resourceMonitor before CreateFileProcessingContext call - Add ui.UpdateProgress on emergency stop and path error returns - Fix potential deadlock in TestProcessFile using wg.Go with defer close
75 lines
4.4 KiB
YAML
75 lines
4.4 KiB
YAML
# language of the project (csharp, python, rust, java, typescript, go, cpp, or ruby)
|
|
# * For C, use cpp
|
|
# * For JavaScript, use typescript
|
|
# Special requirements:
|
|
# * csharp: Requires the presence of a .sln file in the project folder.
|
|
---
|
|
language: go
|
|
|
|
# whether to use the project's gitignore file to ignore files
|
|
# Added on 2025-04-07
|
|
ignore_all_files_in_gitignore: true
|
|
# list of additional paths to ignore
|
|
# same syntax as gitignore, so you can use * and **
|
|
# Was previously called `ignored_dirs`, please update your config if you are using that.
|
|
# Added (renamed) on 2025-04-07
|
|
ignored_paths: []
|
|
|
|
# whether the project is in read-only mode
|
|
# If set to true, all editing tools will be disabled and attempts to use them will result in an error
|
|
# Added on 2025-04-18
|
|
read_only: false
|
|
|
|
# list of tool names to exclude. We recommend not excluding any tools, see the readme for more details.
|
|
# Below is the complete list of tools for convenience.
|
|
# To make sure you have the latest list of tools, and to view their descriptions,
|
|
# execute `uv run scripts/print_tool_overview.py`.
|
|
#
|
|
# * `activate_project`: Activates a project by name.
|
|
# * `check_onboarding_performed`: Checks whether project onboarding was already performed.
|
|
# * `create_text_file`: Creates/overwrites a file in the project directory.
|
|
# * `delete_lines`: Deletes a range of lines within a file.
|
|
# * `delete_memory`: Deletes a memory from Serena's project-specific memory store.
|
|
# * `execute_shell_command`: Executes a shell command.
|
|
# * `find_referencing_code_snippets`: Finds code snippets in which the symbol at the given location is referenced.
|
|
# * `find_referencing_symbols`: Finds symbols that reference the symbol at the given location
|
|
# (optionally filtered by type).
|
|
# * `find_symbol`: Performs a global (or local) search for symbols with/containing a given
|
|
# name/substring (optionally filtered by type).
|
|
# * `get_current_config`: Prints the current configuration of the agent, including the active
|
|
# and available projects, tools, contexts, and modes.
|
|
# * `get_symbols_overview`: Gets an overview of the top-level symbols defined in a given file.
|
|
# * `initial_instructions`: Gets the initial instructions for the current project.
|
|
# Should only be used in settings where the system prompt cannot be set,
|
|
# e.g. in clients you have no control over, like Claude Desktop.
|
|
# * `insert_after_symbol`: Inserts content after the end of the definition of a given symbol.
|
|
# * `insert_at_line`: Inserts content at a given line in a file.
|
|
# * `insert_before_symbol`: Inserts content before the beginning of the definition of a given symbol.
|
|
# * `list_dir`: Lists files and directories in the given directory (optionally with recursion).
|
|
# * `list_memories`: Lists memories in Serena's project-specific memory store.
|
|
# * `onboarding`: Performs onboarding (identifying the project structure and essential tasks,
|
|
# e.g. for testing or building).
|
|
# * `prepare_for_new_conversation`: Provides instructions for preparing for a new conversation
|
|
# (in order to continue with the necessary context).
|
|
# * `read_file`: Reads a file within the project directory.
|
|
# * `read_memory`: Reads the memory with the given name from Serena's project-specific memory store.
|
|
# * `remove_project`: Removes a project from the Serena configuration.
|
|
# * `replace_lines`: Replaces a range of lines within a file with new content.
|
|
# * `replace_symbol_body`: Replaces the full definition of a symbol.
|
|
# * `restart_language_server`: Restarts the language server, may be necessary when edits not through Serena happen.
|
|
# * `search_for_pattern`: Performs a search for a pattern in the project.
|
|
# * `summarize_changes`: Provides instructions for summarizing the changes made to the codebase.
|
|
# * `switch_modes`: Activates modes by providing a list of their names
|
|
# * `think_about_collected_information`: Thinking tool for pondering the completeness of collected information.
|
|
# * `think_about_task_adherence`: Thinking tool for determining whether the agent is still on
|
|
# track with the current task.
|
|
# * `think_about_whether_you_are_done`: Thinking tool for determining whether the task is truly completed.
|
|
# * `write_memory`: Writes a named memory (for future reference) to Serena's project-specific memory store.
|
|
excluded_tools: []
|
|
|
|
# initial prompt for the project. It will always be given to the LLM upon activating the project
|
|
# (contrary to the memories, which are loaded on demand).
|
|
initial_prompt: ""
|
|
|
|
project_name: "gibidify"
|