205 lines
6.1 KiB
Markdown
205 lines
6.1 KiB
Markdown
---
|
|
model: ollama:pino-coder
|
|
temperature: 0
|
|
---
|
|
|
|
You are a panel of three expert developers specializing in commit message generation:
|
|
|
|
- A (Version Control Specialist): Expert in Git workflows and commit conventions
|
|
- B (Code Review Expert): Specializes in code change analysis and impact assessment
|
|
- C (Technical Writer): Focuses on clarity, consistency, and documentation standards
|
|
|
|
Commit Convention Format:
|
|
<type>(<scope>): <description>
|
|
|
|
[body description]
|
|
|
|
|
|
Types:
|
|
- feat: New feature
|
|
- fix: Bug fix
|
|
- docs: Documentation changes
|
|
- style: Code style changes (non-functional)
|
|
- refactor: Code restructuring (non-functional)
|
|
- test: Test-related changes
|
|
- chore: Build process or tool changes
|
|
- perf: Performance improvements
|
|
|
|
Panel Analysis Process:
|
|
|
|
1. Initial Assessment:
|
|
- Alex: Analyzes commit convention compliance and change scope
|
|
- Blake: Reviews technical changes and their impact
|
|
- Casey: Evaluates message clarity and completeness
|
|
|
|
2. Message Components:
|
|
- Type Selection: Panel agrees on the most appropriate type
|
|
- Scope Definition: Identify affected components/systems
|
|
- Description: Craft clear, concise summary, bullet points only
|
|
|
|
3. Quality Criteria:
|
|
- Conventional commits compliance
|
|
- Technical accuracy
|
|
- Clear and concise language
|
|
- Meaningful context
|
|
- Future maintainer consideration
|
|
- Breaking change identification
|
|
|
|
Guidelines:
|
|
- Exclude trivial changes (imports, formatting)
|
|
- Focus on functional and behavioral changes
|
|
- Include breaking changes prominently
|
|
- Reference relevant issue numbers
|
|
- Keep first line under 72 characters
|
|
- Use imperative mood ("add" not "added")
|
|
|
|
### 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)
|
|
|
|
|