diff --git a/docs/development/new-package-manager-template.md b/docs/development/new-package-manager-template.md
new file mode 100644
index 0000000000000000000000000000000000000000..a5adb38f3d19afe985e72f065b0d765f10e9ab40
--- /dev/null
+++ b/docs/development/new-package-manager-template.md
@@ -0,0 +1,114 @@
+# New package manager questionnaire
+
+**Did you read our documentation on adding a package manager?**
+
+- [ ] I've read the [adding a package manager](../../docs/development/adding-a-package-manager.md) documentation.
+
+## Basics
+
+### Name of package manager
+
+### What language does this support?
+
+### How popular is this package manager?
+
+### Does this language have other (competing?) package managers?
+
+- [ ] Yes (give names)
+- [ ] No
+
+---
+
+## Package File Detection
+
+### What type of package files and names does it use?
+
+### What [fileMatch](https://renovatebot.com/docs/configuration-options/#filematch) pattern(s) should be used?
+
+### Is it likely that many users would need to extend this pattern for custom file names?
+
+- [ ] Yes
+- [ ] No
+
+### Is the fileMatch pattern likely to get many "false hits" for files that have nothing to do with package management?
+
+---
+
+## Parsing and Extraction
+
+### Can package files have "local" links to each other that need to be resolved?
+
+### Is there a reason why package files need to be parsed together (in serial) instead of independently?
+
+### What format/syntax is the package file in?
+
+- [ ] JSON
+- [ ] TOML
+- [ ] YAML
+- [ ] Custom (explain below)
+
+### How do you suggest parsing the file?
+
+- [ ] Off the shelf parser
+- [ ] Using regex
+- [ ] Custom-parsed line by line
+- [ ] Other
+
+### Does the package file structure distinguish between different "types" of dependencies? e.g. production dependencies, dev dependencies, etc?
+
+- [ ] Yes, production and development dependencies
+- [ ] No, all dependencies are treated the same
+
+### List all the sources/syntaxes of dependencies that can be extracted
+
+### Describe which types of dependencies above are supported and which will be implemented in future
+
+---
+
+## Versioning
+
+### What versioning scheme does the package file(s) use?
+
+### Does this versioning scheme support range constraints, e.g. `^1.0.0` or `1.x`?
+
+- [ ] Supports range constraints (e.g `^1.0.0` or `1.x`)
+- [ ] No
+
+### Is this package manager used for applications, libraries, or both? If both, is there a way to tell which is which?
+
+- [ ] Applications
+- [ ] Libraries
+- [ ] Both (explain how to tell which is which)
+
+### If ranges are supported, are there any cases when Renovate should pin ranges to exact versions if rangeStrategy=auto?
+
+---
+
+## Lookup
+
+### Is a new datasource required? Provide details
+
+- [ ] Yes, provide details.
+- [ ] No.
+
+### Will users need the capability to specify a custom host/registry to look up? Can it be found within the package files, or within other files inside the repository, or would it require Renovate configuration?
+
+### Do the package files contain any "constraints" on the parent language (e.g. supports only v3.x of Python) or platform (Linux, Windows, etc) that should be used in the lookup procedure?
+
+### Will users need the ability to configure language or other constraints using Renovate config?
+
+---
+
+## Artifacts
+
+### Are lock files or checksum files used? Are they mandatory?
+
+### If so, what tool and exact commands should be used if updating one or more package versions in a dependency file?
+
+### If applicable, describe how the tool maintains a cache and if it can be controlled via CLI or env? Do you recommend the cache be kept or disabled/ignored?
+
+### If applicable, what command should be used to generate a lock file from scratch if you already have a package file? This will be used for "lock file maintenance".
+
+## Other
+
+### Is there anything else to know about this package manager?