code: def schema():
          
          return Schema({
              'script': And(Or(type(' '), type(u' ')), len),
              Optional('title', default=''): str,
              Optional('model', default={}): {Optional(And(str, len)): object},
              Optional('env', default={}): {Optional(And(str, len)): And(str, len)},
              Optional('item', default=None): object,
              Optional('dry_run', default=False): bool,
              Optional('debug', default=False): bool,
              Optional('strict', default=False): bool,
              Optional('variables', default={}): {
                  Optional(And(Or(type(' '), type(u' ')), len, Regex(r'([a-zA-Z][_a-zA-Z]*)'))):
                      Or(type(' '), type(u' '))
              },
              Optional('temporary_scripts_path', default=''): Or(type(''), type(u'')),
              Optional('internal', default=False): bool
          })
docs: Provide schema for shell configuration.