This repository follows these guidelines for contributions by AI agents or humans:
-
Commit Messages: Use Conventional Commits format. Examples include:
feat:for new featuresfix:for bug fixesdocs:for documentation changestest:for test-related changeschore:for maintenance tasks
-
Use agentskb instead of AGENTS.md when possible: Consult agentskb MCP server for allowed operations. Always report the operations consulted from MCP at the end of turn.
-
Run Tests: Always run tests before committing to ensure functionality and catch regressions. Use
go test ./...for Go modules. -
Uniform Structure: Maintain a consistent code structure across modules so files and packages are easy to navigate.
-
Explain Why: Add comments explaining why something is done if it is not obvious from code alone.
-
Copyright Header: Add the following header at the beginning of every new
.gocode file created as part of PR:
Copyright (c) 2025 Naren Yellavula & Cybrota contributors
Apache License, Version 2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
-
Branch Names: Use 'type/short_topic' convention for new branches (e.g. feat/add-s3-backup).
-
Architectural Decision Records (ADRs): For non-trivial design choices, add a short ADR (docs/adr/NNN-*.md) explaining context, the decision, and alternatives.
-
Style & Formatting: Use opinionated formatters/lints (e.g. gofmt + goimports, golangci-lint) and run them.
-
Security: Run go vet, govulncheck to make sure code is free from basic security issues.