tibet-clone(1) -- clones a project from a template directory
SYNOPSIS
tibet clone <target>|[--name <appname>] [--dir <dirname>]
[--dna <template>] [--xmlns <nsuri>] [--list] [--force] [--update]
DESCRIPTION
Clones a template directory, considered the dna
, to create a new project.
<target>
or --name
is required and should be a valid name for use within a
JavaScript context. The application name becomes part of automatically generated
types in the TIBET system.
By default the target --dir
will be the new project's appname unless otherwise
specified via --dir
. You can use .
to clone to the current directory HOWEVER
no checks are currently done to prevent potential data loss. Be careful!
NOTE: a future update to this command should provide interactive use that will allow you to manage the clone process in a more incremental fashion.
Once a project template has been cloned you use the tibet init
command to
initialize the project by triggering installation of all project dependencies.
OPTIONS
--dir
: Specify a particular target directory. Defaults to the value of the--name
parameter sotibet clone hello
will presume--dir=./hello
for example. The value.
can be used to target the current directory without creating a new subdirectory.--dna
: Lets you clone any valid template in TIBET'sdna
directory or a directory of your choosing. This latter option lets you create your own reusable custom application templates.--xmlns
: Lets you define a specific XMLNS URI for any XHTML and CSS references. The default will beurn:app:
or the standard TIBET prefix URI.--force
: Required if you use.
as a simple reminder to be careful. You can also use--force
with existing directories but no checks are done to avoid overwriting existing files.--list
: Output a list of available dna options. No project is created if you use this option.--name
: Lets you rename from the directory name to an alternative name. This lets the directory and appname vary. This is common when cloning to existing directories or poorly named ones like those required for GitHub Pages repositories.--update
: Attempts to update the existing project from the files found in the source dna. This option tries to avoid overwriting existing files but should be used with extreme caution.
CONFIGURATION SETTINGS
npm.name
: The project name, used only when cloning to an existing directory with an existingpackage.json
file that can supply this value.tibet.dna
: Read to determine the default project DNA to clone for this new project. If this value doesn't exist thendefault
is the name used.
ENVIRONMENT VARIABLES
No process environment variables are required by this command.
EXAMPLES
See the list of available project dna
$ tibet clone --list
couch
default
electron
Create a new project with default
dna
$ tibet clone helloworld
TIBET dna 'default' cloned to helloworld as app 'helloworld'.
Create a new project with couch
dna
$ tibet clone hellocouch --dna couch
TIBET dna 'couch' cloned to hellocouch as app 'hellocouch'.
Create a new project in an existing directory
$ tibet clone .
TIBET dna 'default' cloned to . as app 'hellolocal'
Create a named project in an existing directory (empty)
$ tibet clone --name hello .
TIBET dna 'default' cloned to . as app 'hello'.
Create a named project in an existing directory (not empty)
NOTE NOTE NOTE!!! This command can overlay files and is potentially
destructive!!! Future versions of the clone
command may use yeoman
to help
avoid file conflicts, allowing this operation to be done safely.
$ tibet clone --name hello . --force
TIBET dna 'default' cloned to . as app 'hello'.
TIBET SHELL
This command has no client-side TSH peer command.
TROUBLESHOOTING
SEE ALSO
- tibet-init(1)