Thanks for your interest in improving dbxcli.
For non-trivial contributions, complete the Dropbox Contributor License Agreement:
https://opensource.dropbox.com/cla/
If you're planning a larger feature or behavior change, consider opening an issue first.
Requirements:
- Go 1.25+
- Git
Build:
go build .
Run:
go run . --help
- cmd/ Cobra commands
- docs/ Generated documentation
- docs/json-schema/v1/ Generated JSON schemas
- packaging/ Release packaging
- tools/ Documentation and schema generators
dbxcli is designed for humans, scripts, CI pipelines, and AI agents.
When contributing, prefer changes that preserve:
- backward compatibility where practical
- stable automation interfaces
- predictable JSON output and JSON help
- composable command-line behavior
- cross-platform support
Keep pull requests focused.
When adding or modifying commands:
- update help text
- add or update tests
- preserve JSON compatibility when possible
- regenerate documentation
- regenerate JSON schemas if applicable
See:
- docs/automation.md
- docs/json-schema/v1/README.md
Run before submitting:
go test ./...
go vet ./...
go build ./...
For concurrency-sensitive changes:
go test -race ./...
Recommended:
golangci-lint run
govulncheck ./...
If command structure, help, or JSON metadata changes:
go run ./tools/gen-docs
go run ./tools/gen-json-schemas
Ensure the generated files are committed.
Please include:
- what changed
- why
- validation performed
- related issue (if any)
Small, focused pull requests are easier to review.
Include:
dbxcliversion- operating system
- command executed
- expected behavior
- actual behavior
- reproduction steps
Remove access tokens and other sensitive information before posting logs.