Skip to content
This repository has been archived by the owner on Mar 31, 2023. It is now read-only.

Latest commit

 

History

History
131 lines (82 loc) · 7.32 KB

MAKE_A_PKG.md

File metadata and controls

131 lines (82 loc) · 7.32 KB

How to make a package

This will guide you how to make, test, and submit an IndiePKG package.

Table of contents

Package requirements

Before you start, you should know there are a few rules to making a package.

  • Your package should not have a GUI, only command line apps are functional.
  • Your package should have a git repository.

Constructing your package.json file

First you need to make a package.json file.

If your package is on Github, use indiepkg github-gen <username> <repo> to generate a package.json file. (This still should be manually checked after it's generated)

If your package isn't on Github, copy a fitting template from samples.

Go to PACKAGES.md and look at what each field does to construct your package.json files. Package templates for specific languages are available in samples/templates.

Testing your package

Installing from a file (recommended)

Simply run indiepkg install <the name of your package file> to install your package.

If it was successful and your package installed correctly, you can move on to the final step.

Installing from a 3rd party repository

This is a little more complicated, but not too complicated.

First, fork IndiePKG on github.

After your done forking, add your package.json file to the packages directory by either cloning the fork locally and committing, or using the Github Web UI.

If your package is only functional on Linux, add it to packages/linux-only.

Once that's done, add your repository as a 3rd party repo.

indiepkg repo add https://github.com/<YOUR USERNAME HERE>/indiepkg/main/packages/

Or if your package is only available on Linux, run this command:

indiepkg repo add indiepkg repo add https://github.com/<YOUR USERNAME HERE>/indiepkg/main/packages/linux-only/

Finally, install your package by running:

indiepkg install <YOUR PACKAGE NAME>

If everything worked fine, your ready to move on to the final step.

Making a pull request

Finally, go to your Github repo and make a pull request.

I will then test the package myself, and if everything works, I will merge it into the main repository.

Make sure when you make your PR you merge to the main branch.

Badges

If you have successfully submitted your program to IndiePKG, if you wish, you can add a badge to your repository.

Flat

indiepkg-badge

Markdown (flat)

[![indiepkg-badge](https://img.shields.io/badge/get_on-indiepkg-blue?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAxklEQVRoge3Zuw3CMBRGYYzoGYEhIrEGSLTswCywQ0pGyRKMQEthRvCPFF7H56uvnBy5uUrKIlRrrenst5RSSmtm+YkX+SUG0xlMZzCdwXSrdxyabDyvmHPL6+6GDaYzmM5gOoPpyj98q5pTdzdsMJ3BdAbTGUwXf9M6nm7xoeNlE82lS951GKK5wzQ1Z7q7YYPpDKYzmM5gunjTWu938aH1nG1Q6U/Gx30bP7uluxs2mM5gOoPpDKbz7yGdwXQG0xlMZzDdE3J4HtdWbCB+AAAAAElFTkSuQmCC)](https://github.com/talwat/indiepkg)

Flat square

indiepkg-badge

Markdown (flat square)

[![indiepkg-badge](https://img.shields.io/badge/get_on-indiepkg-blue?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAxklEQVRoge3Zuw3CMBRGYYzoGYEhIrEGSLTswCywQ0pGyRKMQEthRvCPFF7H56uvnBy5uUrKIlRrrenst5RSSmtm+YkX+SUG0xlMZzCdwXSrdxyabDyvmHPL6+6GDaYzmM5gOoPpyj98q5pTdzdsMJ3BdAbTGUwXf9M6nm7xoeNlE82lS951GKK5wzQ1Z7q7YYPpDKYzmM5gunjTWu938aH1nG1Q6U/Gx30bP7uluxs2mM5gOoPpDKbz7yGdwXQG0xlMZzDdE3J4HtdWbCB+AAAAAElFTkSuQmCC)](https://github.com/talwat/indiepkg)

Plastic

indiepkg-badge

Markdown (plastic)

[![indiepkg-badge](https://img.shields.io/badge/get_on-indiepkg-blue?style=plastic&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAxklEQVRoge3Zuw3CMBRGYYzoGYEhIrEGSLTswCywQ0pGyRKMQEthRvCPFF7H56uvnBy5uUrKIlRrrenst5RSSmtm+YkX+SUG0xlMZzCdwXSrdxyabDyvmHPL6+6GDaYzmM5gOoPpyj98q5pTdzdsMJ3BdAbTGUwXf9M6nm7xoeNlE82lS951GKK5wzQ1Z7q7YYPpDKYzmM5gunjTWu938aH1nG1Q6U/Gx30bP7uluxs2mM5gOoPpDKbz7yGdwXQG0xlMZzDdE3J4HtdWbCB+AAAAAElFTkSuQmCC)](https://github.com/talwat/indiepkg)

For the badge

indiepkg-badge

Markdown (for the badge)

[![indiepkg-badge](https://img.shields.io/badge/get_on-indiepkg-blue?style=for-the-badge&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAxklEQVRoge3Zuw3CMBRGYYzoGYEhIrEGSLTswCywQ0pGyRKMQEthRvCPFF7H56uvnBy5uUrKIlRrrenst5RSSmtm+YkX+SUG0xlMZzCdwXSrdxyabDyvmHPL6+6GDaYzmM5gOoPpyj98q5pTdzdsMJ3BdAbTGUwXf9M6nm7xoeNlE82lS951GKK5wzQ1Z7q7YYPpDKYzmM5gunjTWu938aH1nG1Q6U/Gx30bP7uluxs2mM5gOoPpDKbz7yGdwXQG0xlMZzDdE3J4HtdWbCB+AAAAAElFTkSuQmCC)](https://github.com/talwat/indiepkg)