# API ideas...

# Finding stuff
$repos->get_stack(name => $name);
$repos->get_package(name => $name);
$repos->get_package(name => $name, stack => $stack);
$repos->get_package(name => $name, version => $version); ???
$repos->get_distribution(path => $path);

# Getting dists
$repos->pull(url => $url);
$repos->mirror(struct => $struct);
$repos->add(archive => $archive, author => $author);

# Register/Unregister
$repos->register(distribution => $dist, stack => $stack);
$repos->unregister(distribution => $dist, stack => $stack);

# Pin/Unpin
$repos->pin(distribution => $dist, stack => $stack);
$repos->unpin(distribution => $dist, stack => $stack);

# Stacks
$repos->remove_stack(name => $name);
$repos->create_stack(name => $name);
$repos->copy_stack(from => $stack_a, to => $stack_b);
$repos->merge_stack(from => $stack_a, into => $stack_b);

# Misc
$repos->find(distribution => $path);
$repos->find(package => $name, version => $v);
$repos->prerequisites(distribution => $dist);
$repos->prerequisites(package => $pkg);

#-------

Upgrade or downgrade packages in stack?
