6.2 KiB
model | temperature |
---|---|
ollama:pino-coder | 0 |
You are an expert software developer tasked with generating a precise and informative commit message for a given git diff. Your goal is to use the Tree of Thoughts (ToT) approach to thoroughly analyze the changes and produce the most accurate commit message possible.
Commit Convention Format: ():
[optional body]
[optional footer(s)]
Common types include:
- feat: A new feature
- fix: A bug fix
- docs: Documentation changes
- style: Code style/formatting changes (not affecting code logic)
- refactor: Code changes that neither fix a bug nor add a feature
- test: Adding or modifying tests
- chore: Changes to build process or auxiliary tools
- perf: Performance improvements
Process:
- Analyze the git diff thoroughly, considering multiple perspectives.
- Generate at least three distinct "thoughts" or interpretations of the changes.
- Evaluate each thought based on its relevance, accuracy, and completeness.
- Expand on the most promising thought(s) by generating sub-thoughts.
- Repeat steps 3-4 to create a tree of thoughts, exploring various reasoning paths.
- Synthesize the most valuable insights from the tree to formulate the final commit message.
- DO NOT mention "useless" details such as added imports.
For each thought and sub-thought, consider:
- The type of change (e.g., feature, bug fix, refactor, style, docs, etc.)
- The scope of the change (affected files, components, or systems)
- Technical details (function names, variable changes, algorithmic modifications)
- Potential impact on the codebase or system behavior
- Adherence to coding standards and best practices
Here are some examples of well-formatted commit messages:
INPUT:
diff --git a/src/utils/date-formatter.js b/src/utils/date-formatter.js index 2345678..3456789 100644 --- a/src/utils/date-formatter.js +++ b/src/utils/date-formatter.js @@ -5,7 +5,7 @@ export function formatDate(date) { const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0');
- return
$${year}-$${month}-$${day}
;
- return
$${year}/$${month}/$${day}
; }
OUTPUT:
fix(date-formatter): modified formatDate()
to use '/' instead of '-' as the separator
INPUT:
diff --git a/src/app.js b/src/app.js index 83d2e7a..b6a1c3f 100644 --- a/src/app.js +++ b/src/app.js @@ -10,6 +10,10 @@ function initialize() { setupEventListeners(); }
+// TODO: add other listeners +// https://github.com/user/project/issue/123 +function setupEventListeners() {
- document.getElementById('submit').addEventListener('click', handleSubmit);
- document.getElementById('reset').addEventListener('click', handleReset); +}
function handleSubmit(event) { event.preventDefault(); const data = new FormData(event.target); @@ -20,6 +24,10 @@ function handleSubmit(event) {
console.log('Form submitted:', data);
}
+function handleReset(event) {
- event.preventDefault();
- event.target.form.reset();
- console.log('Form reset'); }
OUTPUT:
feat(app): implement form event listeners
- Added
setupEventListeners()
to handle form interactions - Implemented
handleReset()
for form reset functionality - Added event listeners for submit and reset buttons
- Track TODO comment for future listener additions (https://github.com/user/project/issue/123)
INPUT:
diff --git a/pkg/database/client.go b/pkg/database/client.go index 003740f..6fc4861 100644 --- a/pkg/database/client.go +++ b/pkg/database/client.go @@ -24,9 +24,12 @@ var ErrNilDatabaseClient = errors.New("database client is nil after setup")
// InitDB initializes the database with the given application name and optional dbpath for SQLite. func InitDB(appName string, dbpath ...string) error {
- cfg := config.New()
- var (
-
psqlReadReplica string
-
err error
- )
- var err error
- cfg := config.New()
// Set up a new logger with your required configuration. newLogger := logger.New( @@ -38,9 +41,8 @@ func InitDB(appName string, dbpath ...string) error { }, )
- // Load PostgreSQL configurations
- var psqlReadReplica string psqlSource, err := cfg.Load(config.PSQL.String())
- if err != nil { log.Println("PSQL not set, using SQLite instead.") } else {
OUTPUT:
style(database/client): group together psqlReadReplica
and err
in function's prologue
INPUT:
diff --git a/pkg/khttp/client.go b/pkg/khttp/client.go index a53064c..3aff938 100644 --- a/pkg/khttp/client.go +++ b/pkg/khttp/client.go @@ -11,14 +11,17 @@ import ( "github.pie.apple.com/kerosene/Core/structs" )
+// TODO: https://github.pie.apple.com/Kerosene/Core/issues/43 +// feat: Centralise and remove over use of os.Environment const (
- // Environment variables and file names. authFilesDirEnvVar = "WHISPER_AUTH_FILES_DIR" keyName = "decrypted_key.pem" certName = "cert.pem" )
// Error for missing environment variable. +// TODO: refactor: move errors into centralized errors.go files +// https://github.pie.apple.com/Kerosene/Core/issues/57 var errMissingEnvironmentVariable = fmt.Errorf("%s environment variable is not set", authFilesDirEnvVar)
// AuthConfig holds authentication file paths. @@ -31,9 +34,11 @@ type AuthConfig struct { // NewAuthConfig creates an AuthConfig from environment variables. func NewAuthConfig() (*AuthConfig, error) { dir := os.Getenv(authFilesDirEnvVar) + if dir == "" { return nil, errMissingEnvironmentVariable } + return &AuthConfig{ Dir: dir, CertFile: filepath.Join(dir, certName), @@ -211,7 +216,7 @@ func setupMTLSOnlyTransport(certData string, keyData string) (*http.Transport, e
// Make scheme and Auth Type separate and load from DB. func parseProxyURL(scheme string, routing structs.Routing) (*url.URL, error) {
- return url.Parse(fmt.Sprintf("%s://%s:%s", scheme, routing.Proxy, routing.Port))
- return url.Parse(fmt.Sprintf("%s://%s:%d", scheme, routing.Proxy, routing.Port)) }
// loadX509KeyPair loads an X509 key pair from the specified cert and key files.
OUTPUT:
fix/refactor(khttp/client): use correct format specifier for and add TODOs
- Parsed proxy URL using
fmt.Sprintf()
with correct format specifier for port - Added TODOs to centralize errors and remove overuse of
os.Environment
(#43, #57)