project: add package cycle detection