The official package manager for the Trypillia language.
Commands · Project Manifest · Example Output · Contributing
TrypPM handles dependencies, project initialization, and core language upgrades seamlessly. It parses dependencies defined in a tryp.json manifest and automatically installs them locally into a tryp_modules directory directly from remote repositories.
- Project Initialization: Automatically generates a beautifully formatted
tryp.jsonmanifest to jumpstart your projects. - Seamless Dependency Management: Effortlessly resolves, downloads, and installs packages directly from remote sources (GitHub, GitLab, etc.) into your local workspace.
- Flexible Versioning: Provides native Semantic Versioning (SemVer) support, intelligently resolving complex version constraints (like
@^1.0.0or@latest) against remote release tags. - Clean Uninstalls: Safely removes packages, purges unneeded files, and keeps your project's autoloader perfectly synchronized.
- Native Compiler Upgrades: Keep your toolchain up-to-date by downloading and compiling the newest Trypillia compiler directly from source.
- Zero-Configuration: Designed to work out of the box with zero boilerplate or complex setup steps.
| Command | Description |
|---|---|
tryppm init |
Generate a tryp.json manifest file with pretty-printing |
tryppm install |
Parse tryp.json and install all listed dependencies |
tryppm install <provider>:<User>/<Repo>[@version] |
Install a single package from a remote provider (e.g., github:, gitlab:) |
tryppm uninstall <pkg> |
Remove a package from tryp.json, delete its files, and update the autoloader |
tryppm upgrade |
Upgrade the Trypillia language compiler from source natively |
A standard tryp.json generated by TrypPM looks like this:
{
"name": "my-project",
"version": "0.1.0",
"description": "My first Trypillia application",
"author": "Serhii Cherneha",
"entry": "main.try",
"dependencies": {
"github:trypillia/tryp-logger": "^1.0.0"
}
}When running tryppm install, TrypPM will automatically resolve Semantic Versioning constraints against repository tags and install your packages:
Looking for tryp.json ...
Name: my-project v0.1.0
Author: Serhii Cherneha
Found 1 dependencies to install.
Installing package: github:trypillia/tryp-logger@^1.0.0
Fetching from: https://raw.githubusercontent.com/trypillia/tryp-logger/v1.0.5/main.try ...
Saved to tryp_modules/tryp-logger.try
All dependencies installed!
Contributions are welcome and appreciated! Here's how you can contribute:
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please make sure to update tests as appropriate and adhere to the existing coding style.
This project is licensed under the CSSM Unlimited License v2.0 (CSSM-ULv2). See the LICENSE file for details.