// This file was auto-generated by the veyron vdl tool.
// Source: schema.vdl

package schema

// Dir represents a directory.
type Dir struct {
}

// List is a list of items.
type List struct {
	Name string
}

// Item is a single task to be done.
type Item struct {
	Text string
	Done bool
	Tags []string
}
