Available for Puppy Linux is a special file called the "devx" which is a squash filesystem archive (sfs) that gets loaded in the Puppy stack when required. The devx is basically a development tool to extend Puppy functionality creating a comprehensive development environment for writing and compiling programs written in C, C++ and others. It contains the Gnu Compiler Collection, header files for all installed programs including the Linux Kernel, (nb: this is not the kernel sources) Gnu Autotools, Python, Perl plus VCS like Git and Subversion plus many other useful development tools and libraries
The devx is distro, version and architecture dependent; that is, for the Puppy you use must use the corresponding devx provided by that Puppy distro builder. For example, if the Puppy you run is fossapup64-9.5 you will need devx_fossapup64_9.5.sfs.
You can obtain the devx in a number of ways depending on your distro. Historically, and still relevant today, the devx can be obtained from any of the Puppy Linux Mirrors. There are mirror locations at the Puppy Linux Downloads page. It will be located either at the same place where you downloaded your Puppy iso image or in the relevant pet_packages-* directory which can be found at Puppylinux's distro.ibiblio site. In Bionic and Fossa there is an application called "Quickpet" that has an entry for the devx. In slacko there is an app called "SFS Manager" that contains a link to the devx. For these distros you can use these tools if you wish to.
Note that it is always advised that you put your devx.sfs at /mnt/home (the top-most directory of your storage device, so that it is outside of your puppy save file/folder).
If you use Bionic, Fossa or slacko, the aforementioned Quickpet or SFS Manager will install the devx for you. For all other puppy based distros, and for these ones as well, you can download the devx.sfs manually from the Puppy Linux Downloads page for the puppy distro you use, open up the directory in which devx.sfs was downloaded, and click on the file. A graphical user interface (GUI) window will open asking you what you want to do. Click "Install SFS".
Another GUI will open asking for confirmation that you want to install. Click "OK".
A further GUI opens asking you if you want to run a program that may reside on the devx. Just click "Quit".
That's it. You have successfully installed (or actually 'loaded') the devx and can now start developing for Puppy.
If you have the devx installed and you decide to extend Puppy with extra packages from the "Puppy Package Manager" (PPM) (or any other package manager specific to the distro that you use), then the dependencies of the package that already reside in the devx file will not be needed to be installed. So, instead of using the package manager to install things like compilers, Python, Perl and VCS you should consider downloading and installing the devx. Note that if you do install packages, which require few dependencies found in the devx, while the devx is loaded; and then later on remove the devx, then the installed packages may not work as they are expected to, or may not even start. So always remember not to remove devx while the programs on your computer may need any dependencies from the devx.