ComPact can easily be extended to recognize further package kinds. Only the file PkgBase.DefaultData needs to be changed / extended to achieve this. The Section A.2 in Elego ComPact Manual Appendices describes all the details of declaring the structure of packages and all associated operations.
Here is a list of all package kinds currently shipped with ComPact, together with a short description:
BASIC_VC partial action declarations for packages, containing only basic version control facilities provided by the ComPact version manager, usable on all systems
BASIC_VC_MAKE partial package declaration combining basic version control and build management using make
BASIC_VC_MAKE_UNIX complete package declaration combining basic version control and build management using make on Unix systems
BASIC_VC_MAKE_WIN32 complete package declaration combining basic version control and build management using make on Windows systems
BASIC_VC_UNIX_OVERRIDES partial action declarations for packages, containing only basic version control improvements usable on Unix systems
COMPACT_BUILD partial action declarations for build management using the ComPact package manager
COMPACT_CC_UNIX complete package declaration for C/C++ sources to be compiled on Unix systems, defaults to GNU gcc compiler
COMPACT_CC_WIN32 complete package declaration for C/C++ sources to be compiled on Windows systems, defaults to Microsoft C/C++ compiler
COMPACT_JAVA partial package declaration for Java sources, complex (deep) package structure
COMPACT_JAVA_UNIX complete package declaration for Java sources to be compiled on Unix systems, defaults to Sun's JDK compiler, complex (deep) package structure
COMPACT_JAVA_WIN32 complete package declaration for Java sources to be compiled on Windows systems, defaults to Sun's JDK compiler, complex (deep) package structure
COMPACT_PKG partial package declaration for ComPact packages, providing basic version control with the package manager
COMPACT_PKG_CDT partial declarations for broken packages with only a PkgCDT file left, used for rescue purposes
COMPACT_PKG_CDT_UNIX complete declarations for broken packages with only a PkgCDT file left, used for rescue purposes on Unix systems
COMPACT_PKG_CDT_WIN32 complete declarations for broken packages with only a PkgCDT file left, used for rescue purposes on Windows systems
COMPACT_PKG_CRT partial declarations for broken packages with only a PkgCRT file left, used for rescue purposes
COMPACT_PKG_CRT_UNIX complete declarations for broken packages with only a PkgCRT file left, used for rescue purposes on Unix systems
COMPACT_PKG_CRT_WIN32 complete declarations for broken packages with only a PkgCRT file left, used for rescue purposes on Windows systems
COMPACT_PKG_DEPS partial declarations for broken packages with only a PkgDep file left, used for rescue purposes
COMPACT_PKG_DEPS_UNIX complete declarations for broken packages with only a PkgDep file left, used for rescue purposes on Unix systems
COMPACT_PKG_DEPS_WIN32 complete declarations for broken packages with only a PkgDep file left, used for rescue purposes on Windows systems
COMPACT_PKG_TAGS partial declarations for broken packages with only a PkgTags file left, used for rescue purposes
COMPACT_PKG_TAGS_UNIX complete declarations for broken packages with only a PkgTags file left, used for rescue purposes on Unix systems
COMPACT_PKG_TAGS_WIN32 complete declarations for broken packages with only a PkgTags file left, used for rescue purposes on Windows systems
COMPACT_PRJ partial declarations for packages with only a PrjDesc file
COMPACT_PRJM partial package declaration for ComPact project management packages
COMPACT_PRJM_UNIX complete package declaration for ComPact project management packages used on Unix systems
COMPACT_PRJM_WIN32 complete package declaration for ComPact project management packages used on Windows systems
COMPACT_PRJ_SNAPS partial declarations for packages with only a snaps subdirectory
COMPACT_PRJ_SNAPS_UNIX complete declarations for project packages with only a snaps subdirectory used on Unix systems
COMPACT_PRJ_SNAPS_WIN32 complete declarations for project packages with only a snaps subdirectory used on Windows systems
COMPACT_SIMPLE partial package structure for simple packages without build management support
COMPACT_SIMPLE_UNIX complete package declaration for simple packages without build management support on Unix systems
COMPACT_SIMPLE_WIN32 complete package declaration for simple packages without build management support on Windows systems
COMPACT_VC partial action declarations for packages, containing only basic version control facilities provided by the ComPact package manager, usable on all systems
COMPACT_VC_UNIX_OVERRIDES partial action declarations for packages, containing only basic version control improvements usable on Unix systems
CRITICAL_MASS_M3_UNIX complete package declaration for Modula-3 sources to be compiled with the Critical Mass M3 compiler on Unix systems
CRITICAL_MASS_M3_WIN32 complete package declaration for Modula-3 sources to be compiled with the Critical Mass M3 compiler on Windows systems
DEC_SRC_M3_UNIX complete package declaration for Modula-3 sources to be compiled with the DEC SRC compiler on Unix systems
DEC_SRC_M3_WIN32 complete package declaration for Modula-3 sources to be compiled with the DEC SRC compiler on Windows systems
DEFAULT package declaration used as fallback, if no other kinds match, containing only the most basic version control actions (used mostly for initial checkout)
M3_OVR partial declarations for broken packages with only an m3override file left, used for rescue purposes
M3_OVR_UNIX complete declarations for broken packages with only an m3override file left, used for rescue purposes on Unix systems
M3_OVR_WIN32 complete declarations for broken packages with only an m3override file left, used for rescue purposes on Windows systems
MAKE_BUILD partial action declarations for build management using make and Makefiles
SIMPLE_COMPACT_JAVA partial package declaration for Java sources, simple (flat) package structure
SIMPLE_COMPACT_JAVA_UNIX complete package declaration for Java sources to be compiled on Unix systems, defaults to Sun's JDK compiler, simple (flat) package structure
SIMPLE_COMPACT_JAVA_WIN32 complete package declaration for Java sources to be compiled on Windows systems, defaults to Sun's JDK compiler, simple (flat) package structure