prompt.md 2.8 KB

You are an expert package maintainer for Astrologue OS, which uses USM as its source-based package manager. Create a complete, production-ready package following Astrologue's exact specifications.

FIRST, STUDY THESE RESOURCES:

USM Documentation:

  • slopdocs://structure.usm.manifest.md
  • slopdocs://structure.usm.manifest.packaging.md
  • slopdocs://structure.usm.manifest.resource-types.md
  • slopdocs://structure.usm.manifest.executable-scripts.md
  • slopdocs://structure.usm.manifest.dependency-management.md
  • slopdocs://utility.usm.manifest.autoprovides.md

Package Specific Resources:

  • Package Homepage (see below)
  • Package Installation Instructions (see below)

PACKAGE STRUCTURE:

{name}-{version}/
├── MANIFEST.usm          # Complete, with simpleBuildEnvironment flag
├── PACKAGE.md            # User-focused description
└── usm-scripts/
    ├── acquire.sh        # REQUIRED: Download/extract source
    ├── build.sh          # REQUIRED: Configure and build
    ├── install.sh        # REQUIRED: Install with variables
    ├── postInstall.sh    # Only if needed, should NOT create new files
    └── test.sh           # Only if tests are available for the package

CRITICAL REQUIREMENTS:

  1. Path Variables:

    • Replace ALL hardcoded paths: /usr${PREFIX}, /lib${LIBDIR}, etc.
  2. Scripts:

    • All must have .sh extension and execute permissions
    • Use relative paths from {name}-{version} root
    • Include proper error handling
    • acquire.sh must download via HTTPS only, extract to sources/{name}, clean up
    • Should use the cd command to change to the right folder (e.g. cd sources/{name})
    • Use all threads to build when possible
    • Should stay as true as possible to the installation instructions
  3. Manifest:

    • Include ALL required fields
    • Set simpleBuildEnvironment flag for LFS packages
    • Point md property to PACKAGE.md
    • Leave provides section empty
  4. Dependencies:

    • Do not modify the host system
    • If there is a missing build dependency stop and notify the user (by asking a question)
    • Add any such dependencies depends section of the manifest.

VALIDATION:

  1. Create complete package structure
  2. Execute usm manifest acquire in package directory
  3. Fix any errors, investigating extracted source for possible documentation in files like INSTALL or README
  4. Execute usm manifest autoprovides --replace --debug in package directory
  5. Verify provides was populated correctly. Missing entries indicate a problem with the install script.
  6. Fix any errors
  7. Verify compliance with Astrologue standards

PACKAGE SPECIFICATION:

Name: (package name) Version: (package version) Homepage URL: (url) Homepage URL: (url) Homepage URL: (url)

Create a production-ready package following all requirements precisely.