## Customize
### Variable

The prepared variables can be used for the files prepared under the KuriTemplate folder.

- \_\_PREFIX\_\_ - If you execute `kuri generate Item`, `__PREFIX__` is `Item`.
- \_\_USERNAME\_\_ - Equal `echo $USER`
- \_\_TARGET\_\_ - Generate for Xcode target name.
- \_\_DATE\_\_ - Current system date format from `yyyy/MM/dd`
- \_\_YEAR\_\_ - Current system year.
- \_\_MONTH\_\_ - Current system month.
- \_\_DAY\_\_ - Current system day.

e.g.

Prepare this kind of template
```swift
//
//  __PREFIX__Repository.swift
//  Kuri
//
//  Created by __USERNAME__ on __DATE__.
//  Copyright © __YEAR__ __USERNAME__. All rights reserved.
//

import Foundation

protocol __PREFIX__Repository {
    func fetch(_ closure: (__PREFIX__Entity) -> Void) throws
}


struct __PREFIX__RepositoryImpl: __PREFIX__Repository {
    private let dataStore: __PREFIX__DataStore

    init(
        dataStore: __PREFIX__DataStore
        ) {
        self.dataStore = dataStore
    }

    func fetch(_ closure: (__PREFIX__Entity) -> Void) throws  {
        return try dataStore.fetch(closure)
    }
}
```

exec kuri generate.
```
echo $USER
 yourname

kuri generate Kuri
```

The output looks like this
```swift
//
//  KuriRepository.swift
//  Kuri
//
//  Created by hirose on 2017/4/11.
//  Copyright © 2017 hirose. All rights reserved.
//

import Foundation

protocol KuriRepository {
    func fetch(_ closure: (KuriEntity) -> Void) throws 
}


struct KuriRepositoryImpl: KuriRepository {
    private let dataStore: KuriDataStore
    
    init(
        dataStore: KuriDataStore
        ) {
        self.dataStore = dataStore
    }
    
    func fetch(_ closure: (KuriEntity) -> Void) throws  {
        return try dataStore.fetch(closure)
    }
}
```