Move src/ → apps/server/ and packages/web/ → apps/web/ to adopt standard monorepo conventions (apps/ for runnable apps, packages/ for reusable libraries). Update all config files, shared package imports, test fixtures, and documentation to reflect new paths. Key fixes: - Update workspace config to ["apps/*", "packages/*"] - Update tsconfig.json rootDir/include for apps/server/ - Add apps/web/** to vitest exclude list - Update drizzle.config.ts schema path - Fix ensure-schema.ts migration path detection (3 levels up in dev, 2 levels up in dist) - Fix tests/integration/cli-server.test.ts import paths - Update packages/shared imports to apps/server/ paths - Update all docs/ files with new paths
25 lines
668 B
TypeScript
25 lines
668 B
TypeScript
/**
|
|
* Git Clone Utility
|
|
*
|
|
* Clones a git repository to a local path.
|
|
* Used when registering projects to create the base clone
|
|
* from which worktrees are later created.
|
|
*/
|
|
|
|
import { simpleGit } from 'simple-git';
|
|
import { createModuleLogger } from '../logger/index.js';
|
|
|
|
const log = createModuleLogger('git');
|
|
|
|
/**
|
|
* Clone a git repository to a destination path.
|
|
*
|
|
* @param url - Remote repository URL
|
|
* @param destPath - Local filesystem path for the clone
|
|
*/
|
|
export async function cloneProject(url: string, destPath: string): Promise<void> {
|
|
const git = simpleGit();
|
|
log.info({ url, destPath }, 'cloning project');
|
|
await git.clone(url, destPath);
|
|
}
|