omar-hanafy/directory-tree
Package-specific skills for the directory_tree Dart package: the exact 2.0.0 API (paths and policies, roots, ordering, issues, flattened rows with incremental expansion, search queries, selection and checkboxes, diffs, rendering, the file system scanner) and the 1.x to 2.0.0 migration.
Use when upgrading a project from directory_tree 1.x to 2.0.0, or fixing analyzer errors after that bump - TreeBuilder/TreeData/FlattenStrategy/VisibleNode/ExpansionSet/SelectionSet/diffVisibleNodes/compileFilter/folderSelection no longer existing, the dart fix renames (removeIndicesDesc, insertIndicesAsc, TreeEntry.fullPath), string node ids becoming NodeId canonical paths, the removed synthetic root and tree_root nodes, case-sensitive paths by default, immutable expansion and selection state, flatten expanding everything by default, natural sibling order, the new search syntax, or tests whose output changed after the upgrade.
Use when writing or reviewing Dart/Flutter code in a project that depends on directory_tree 2.x - building a DirectoryTree from paths or TreeEntry values, DirectoryTreeBuilder and rebuild, TreePath and PathPolicy (case sensitivity, Windows and UNC paths), TreeRoots and TreeOrder, TreeIssue, NodeId lookups, flatten to TreeRows and TreeRow for a tree view, ExpansionState with expandNode/collapseNode/toggleNode/reveal and persisting requestedExpansion, TreeQuery search syntax and matchRanges highlighting, TreeFilter, SelectionState with range selection and tri-state checkboxes, ListDiff for AnimatedList, TreeDiff after a rescan, render with TreeStyle, or DirectoryScanner from package directory_tree/io.dart.