124 lines
3.4 KiB
Groff
124 lines
3.4 KiB
Groff
CELL(1) Cell Manual CELL(1)
|
|
|
|
NAME
|
|
cell - The Cell module system for Prosperon game engine
|
|
|
|
SYNOPSIS
|
|
cell <command> [arguments]
|
|
|
|
DESCRIPTION
|
|
Cell is a module and dependency management system for Prosperon,
|
|
inspired by Go modules. It provides tools for managing dependencies,
|
|
building modules, and maintaining reproducible builds.
|
|
|
|
Cell uses a manifest file (cell.toml) to track dependencies and
|
|
project configuration. All Cell data is stored in the .cell/
|
|
directory within your project.
|
|
|
|
COMMANDS
|
|
init
|
|
Initialize a new Cell project with .cell/ directory structure
|
|
|
|
get <module> [alias]
|
|
Fetch a module and add it as a dependency
|
|
|
|
update <alias> [version]
|
|
Update a dependency to a new version
|
|
|
|
list
|
|
List installed modules and their status
|
|
|
|
vendor
|
|
Copy all dependencies into modules/ for hermetic builds
|
|
|
|
build
|
|
Compile all modules to bytecode in build/
|
|
|
|
patch <alias>
|
|
Create a patch file for local modifications to a dependency
|
|
|
|
help [command]
|
|
Display help information for Cell or a specific command
|
|
|
|
DIRECTORY STRUCTURE
|
|
.cell/
|
|
├── cell.toml Project manifest
|
|
├── lock.toml Dependency lock file with checksums
|
|
├── modules/ Vendored source modules
|
|
├── build/ Compiled bytecode modules
|
|
└── patches/ Local patches for dependencies
|
|
|
|
CONFIGURATION
|
|
The cell.toml file contains:
|
|
|
|
module = "my-game"
|
|
engine = "mist/prosperon@v0.9.3"
|
|
entrypoint = "main.js"
|
|
|
|
[dependencies]
|
|
alias = "git.world/user/module@version"
|
|
|
|
[aliases]
|
|
short = "alias"
|
|
|
|
[replace]
|
|
"git.world/user/module@v1.0.0" = "./local/path"
|
|
|
|
[patches]
|
|
module = "./patches/module.patch"
|
|
|
|
[mods]
|
|
enabled = ["mod1", "mod2"]
|
|
|
|
MODULE LOCATORS
|
|
Modules are identified by locators in the format:
|
|
|
|
host/owner/name@version
|
|
|
|
Examples:
|
|
- git.world/jj/mod@v0.6.3
|
|
- git.world/jj/mod@head
|
|
- git.world/jj/mod (defaults to @head)
|
|
|
|
IMPORT RESOLUTION
|
|
Cell supports multiple import styles:
|
|
|
|
1. Scheme-qualified: core://time, std://json
|
|
2. Relative paths: ./helper, ../utils
|
|
3. Bare imports: resolved via dependencies and aliases
|
|
|
|
MODULE PRECEDENCE
|
|
Modules are mounted in the following order (highest to lowest):
|
|
|
|
1. Mods (user modifications)
|
|
2. Self (project root)
|
|
3. Aliases (dependencies)
|
|
4. Compiled modules
|
|
5. Source modules
|
|
6. Core modules
|
|
|
|
EXAMPLES
|
|
Initialize a new project:
|
|
cell init
|
|
|
|
Add a dependency:
|
|
cell get git.world/jj/chess@v1.0.0
|
|
cell get git.world/jj/chess # uses latest
|
|
|
|
Update a dependency:
|
|
cell update chess v1.1.0
|
|
|
|
List installed modules:
|
|
cell list
|
|
|
|
Vendor dependencies:
|
|
cell vendor
|
|
|
|
Build all modules:
|
|
cell build
|
|
|
|
SEE ALSO
|
|
Run 'cell help <command>' for detailed information on each command.
|
|
|
|
AUTHORS
|
|
Cell is part of the Prosperon game engine project. |