# {{.Title}}

ⓘ Use this tool to decompose a package into a set of components whose dependencies are acyclic. First, name a set of components. Second, assign each declaration to an appropriate component: check their checkboxes, choose a component, and click Apply. Use the checkbox for a file to select all declarations in that file. Third, examine the set of dependencies between components. Each inter-component dependency lists the symbol references that cross the boundary. Click on one to navigate your editor there. If two or more components form a dependency cycle (⚠), you will need to either change your code, or change the component assignments. Iterate this process. Reload the page to refresh after each code change.

Once you are happy with the result, you can split the package, renaming declarations as needed to export them. In a future release, the code transformation will be automated.

## Components

[▼ see dependencies]

## Declarations

Assign selected declarations to component:

## Component dependencies

`