Files
cell/scripts/man/cell.man

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.