My first package walk through - Ana06/VM-Packages GitHub Wiki
You're missing a good analysis tools in this package repository? You can create the package via a GitHub issue or manually with the support of a package template script! Manual package creation is the more versatile, but requires that you are familiar with the package structure and installation functions. The issue driven package creation, allows you to propose a tool by just opening an issue, which in many cases can be automatically converted into a package and released (by pushing it to MyGet). For more details on how to contribute please see the other Wiki pages.
If something is not clear, you have any questions or need help, please let us know via a GitHub issue or pull request. We love to welcome new contributors to our community!
Legal
To adhere to distribution rights, we only use packages that obtain files from the web at runtime and install them. No package in this project is self-contained (i.e., they do NOT contain the actual binaries). See Chocolatey's legal documentation for more details.
Automatic package pull request via new issue
- Go to Issues - New Issue
- Select the appropriate package type
- Fill out the required fields accurately & submit the issue
- A maintainer will review your submission and label it for automatic package creation
- The automated processing includes linting and testing
- If changes are required, download the created branch and modify it locally
- See GitHub's documentation on Checking out pull requests locally
- Depending on your permissions you may have to create a new pull request with your new branch
Manual package creation using Python template script
- Find the appropriate package type
- See supported options via
$ python scripts/utils/create_package_template.py --type
- Also see
$python scripts/utils/create_package_template.py -h
for detailed usage information
- See supported options via
- See required arguments via
$ python scripts/utils/create_package_template.py --type <package_type>
- Provide required arguments
- Alternatively, use the
--raw
option to create package template files using placeholder data
- Alternatively, use the
- Ensure scripts and package meet code and structure requirements
- See the Wiki
- Lint PowerShell code:
PS scripts/test/lint.ps1
(requirespsscriptanalyzer
, seelint.ps1
contents) - Lint all packages
$ python scripts/test/lint.py packages
- Test package installation and uninstallation.
- After fixing any issues, submit a pull request
- Lints and test run automatically for each pull request, they must succeed before pull requests can be accepted
Manual package creation based on existing package
- Identify an existing package that's installed similarly to your tool
- Copy package data and modify where appropriate
- See steps on linting, testing, and submitting above