This repository was archived by the owner on Dec 8, 2022. It is now read-only.
forked from 280north/narwhal
-
Notifications
You must be signed in to change notification settings - Fork 16
Tusk Specification
bryanwb edited this page Sep 13, 2010
·
15 revisions
Here is a draft of how the tusk command should behave and of the structure of related files
tusk [--sea <sea>] ...
tusk [--global]
tusk [--globe <globe>]
tusk [--no-globe] # default for root, euid 0
tusk install <package>...
downloads and installs packages and their transitive dependencies
tusk remove <package>...
tusk package
unusual, package specific commands
tusk orphans
lists packages that are no longer needed
tusk apropos <keyword>...
searches for intersection of exact words
tusk search <word>...
full text search of keywords and description
tusk catalog
catalog specific commandsupgrade # upgrades all packages
package
install # (top level alias)
remove
list # all installed packages
clone # uses the VCS of a package's project toinstall it. It takes --user name and --owner so you can check out an alternate repository.
only works for packages that use a VCS like github, mentioned in sources.json.
link # symlinks a package into this sea
select name version # create as symlink from "versions/{name}/{version}" to "packages/{name}", searching
package.prefixes for the package and creating the symlink in package.prefixes[0]
upgrade # downloads the current version, removes unused files from previous install as mentioned in .tusk/notes.json
dependencies # prints the dependencies
orphans # shows installed packages with no dependee
adopt # marks a package as user-requested
sea
(init <path> [--alone] [--type browser/gae/child]) # top level alias
lonely seas, particularly GAE, will have their own
copy of "narwhal" installed as a package
info
freeze # archives info on the versions of installed packages
reheat # installs transitive dependencies of the root package,
respecting archived version information if available
necessary for creating war/WEB-INF seas for GAE
bundle ==[ path ] [--production / --development] #generates a build of all the modules in the sea==
catalog
add name package-url
remove name
create # creates a catalog from the catalog sources ?sources.json?
update name # updates the catalog
(search [--key value...]) # full text
(apropos) # keyword intersection
create # recreates the catalog by downloading all package.jsons,
referenced in sources.json or catalogs therein, transitively
list # list all active catalogs
packages ==--catalog name # List all packages in given catalog. If --catalog is omitted the sea catalog is used.==
packages ==--catalog name overlay==
Add the catalog with name overlay as an overlay to '--catalog'. All package searches in the catalog will first check the overlay
catalog.
cache
clear
config
show