namespace TypistTech\Imposter;
* @param string $projectPath
* @param string[] $extraExcludes
public static function forProject(string $projectPath, array $extraExcludes = []): Imposter
$filesystem = new Filesystem();
$projectConfig = ConfigFactory::buildProjectConfig($projectPath . '/composer.json', $filesystem);
$projectConfig->setExtraExcludes($extraExcludes);
$transformer = new Transformer($projectConfig->getImposterNamespace(), $filesystem);
$configCollection = ConfigCollectionFactory::forProject(
return new Imposter($configCollection, $transformer, $filesystem);