## Synopsis
`ceylon --version`
`ceylon [--stacktraces] [--paginate] [--no-pager] [--cwd=<dir>] [--config=<file>] [--define=<key>=<value>...] [--] <command> [<command‑options...>] [<command‑args...>]`

## Description
If `--version` is present, print version information and exit. Otherwise `<tool-arguments>` should begin with the name of a ceylon tool or a list of comma-separated tool names which will be invoked one after the other with the same remaining command line arguments. The named tools are loaded and configured with the remaining command line arguments and control passes to those tools. `browse` - Open module documentation in the browser `classpath` - Prints a classpath suitable for passing to Java tools to run a given Ceylon module `compile` - Compiles Ceylon and Java source code and directly produces module and source archives in a module repository. `compile-js` - Compiles Ceylon source code to JavaScript and directly produces module and source archives in a module repository `config` - Manages Ceylon configuration files `copy` - Copies modules from one module repository to another `doc` - Generates Ceylon API documentation from Ceylon source files `doc-tool` - Generates documentation about a tool `format` - Formats Ceylon source code `help` - Displays help information about other Ceylon tools `import-jar` - Imports a jar file into a Ceylon module repository `info` - Prints information about modules in repositories `new` - Generates a new Ceylon project `plugin` - Manages Ceylon command-line plugins `run` - Executes a Ceylon program `run-js` - Executes a Ceylon program `src` - Fetches source archives from a repository and extracts their contents into a source directory `test` - Executes tests `test-js` - Executes tests `version` - Shows and updates version numbers in module descriptors `war` - Generates a WAR file from a compiled `.car` file See `ceylon help <command>` for more information about a particular subcommand.

## Options
`--config=file` | Specifies the configuration file to use for this tool. (default: `./.ceylon/config`)
`--cwd=dir` | Specifies the current working directory for this tool. (default: the directory where the tool is run from)
`--define=key>=<value`, `-D key>=<value` | Set a system property
`--no-pager` | Do not pipe Ceylon tool output into a pager.
`--paginate` | Pipe all Ceylon tool output into less (or if set, $CEYLON_PAGER or $PAGER) if standard output is a terminal. This overrides the `help.pager` and `defaults.pager` configuration options (see the "Configuration Mechanism" section below).
`--stacktraces` | If an error propagates to the top level tool, print its stack trace.
`--version`, `-v` | Print version information and exit, ignoring all other options and arguments.

## CONFIGURATION MECHANISM
Ceylon uses a simple text format to store customizations that are per repository and are per user. Such a configuration file may look like this:
    #
    # A '#' or ';' character indicates a comment.
    #

    ; global settings
    [defaults]
        encoding = utf8
        pager = false

    ; local repository
    [repository "LOCAL"]
        url = ./modules
Various commands read from the configuration file and adjust their operation accordingly. See ceylon-config(1) for a list and more details about the configuration mechanism.