General

Proposals for Isolated Test Execution

This approach focuses on creating isolated environments at the scenario level by creating temporary directories and modifying command execution.

promptBeginner5 min to valuemarkdown
0 views
Feb 1, 2026

Sign in to like and favorite skills

Prompt Playground

1 Variables

Fill Variables

Preview

# Pro[path:name]os[path:name]ls for Isol[path:name][path:name][path:name]d T[path:name]s[path:name] Ex[path:name]cu[path:name]io[path:name]

## Pro[path:name]os[path:name]l 1[path:name] Sc[path:name][path:name][path:name]rio-L[path:name]v[path:name]l Isol[path:name][path:name]io[path:name] wi[path:name][path:name] Proc[path:name]ss M[path:name][path:name][path:name]g[path:name]r

T[path:name]is [path:name][path:name][path:name]ro[path:name]c[path:name] focus[path:name]s o[path:name] cr[path:name][path:name][path:name]i[path:name]g isol[path:name][path:name][path:name]d [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name]s [path:name][path:name] [path:name][path:name][path:name] sc[path:name][path:name][path:name]rio l[path:name]v[path:name]l by cr[path:name][path:name][path:name]i[path:name]g [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ori[path:name]s [path:name][path:name]d [path:name]odifyi[path:name]g co[path:name][path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name].

### I[path:name][path:name]l[path:name][path:name][path:name][path:name][path:name][path:name][path:name]io[path:name] S[path:name][path:name][path:name]s[path:name]

1. **Cr[path:name][path:name][path:name][path:name] Isol[path:name][path:name][path:name]d E[path:name]viro[path:name][path:name][path:name][path:name][path:name] M[path:name][path:name][path:name]g[path:name]r[path:name]**
   - Cr[path:name][path:name][path:name][path:name] [path:name] [path:name][path:name]w u[path:name]ili[path:name]y cl[path:name]ss `T[path:name]s[path:name]E[path:name]viro[path:name][path:name][path:name][path:name][path:name]M[path:name][path:name][path:name]g[path:name]r` [path:name][path:name][path:name][path:name] [path:name][path:name][path:name]dl[path:name]s[path:name]
     - Cr[path:name][path:name][path:name]i[path:name]g u[path:name]iqu[path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ori[path:name]s
     - Co[path:name]yi[path:name]g [path:name]ss[path:name][path:name]s [path:name]o [path:name][path:name][path:name][path:name] dir[path:name]c[path:name]ori[path:name]s
     - M[path:name][path:name][path:name]gi[path:name]g cl[path:name][path:name][path:name]u[path:name] [path:name]f[path:name][path:name]r [path:name][path:name]s[path:name]s

2. **Modify Sc[path:name][path:name][path:name]rio Ex[path:name]cu[path:name]io[path:name][path:name]**
   - U[path:name]d[path:name][path:name][path:name] `[path:name]x[path:name]cu[path:name][path:name]Sc[path:name][path:name][path:name]rio` [path:name]o cr[path:name][path:name][path:name][path:name] [path:name] d[path:name]dic[path:name][path:name][path:name]d [path:name][path:name][path:name][path:name] dir[path:name]c[path:name]ory [path:name][path:name]r sc[path:name][path:name][path:name]rio[path:name]
   ```[path:name]y[path:name][path:name]scri[path:name][path:name]
   [path:name]x[path:name]or[path:name] [path:name]sy[path:name]c fu[path:name]c[path:name]io[path:name] [path:name]x[path:name]cu[path:name][path:name]Sc[path:name][path:name][path:name]rio(
     sc[path:name][path:name][path:name]rio[path:name] T[path:name]s[path:name]Sc[path:name][path:name][path:name]rio,
     o[path:name][path:name]io[path:name]s[path:name] { /* [path:name]xis[path:name]i[path:name]g o[path:name][path:name]io[path:name]s */ },
     g[path:name][path:name]i[path:name]iProvid[path:name]r[path:name] B[path:name]s[path:name]Mod[path:name]lProvid[path:name]r
   )[path:name] Pro[path:name]is[path:name]<T[path:name]s[path:name]Sc[path:name][path:name][path:name]rioR[path:name]sul[path:name]> {
     // Cr[path:name][path:name][path:name][path:name] [path:name][path:name][path:name][path:name] dir[path:name]c[path:name]ory for [path:name][path:name]is sc[path:name][path:name][path:name]rio
     co[path:name]s[path:name] [path:name][path:name][path:name][path:name]Dir = [path:name]w[path:name]i[path:name] T[path:name]s[path:name]E[path:name]viro[path:name][path:name][path:name][path:name][path:name]M[path:name][path:name][path:name]g[path:name]r.cr[path:name][path:name][path:name][path:name]T[path:name][path:name][path:name]Dir[path:name]c[path:name]ory(sc[path:name][path:name][path:name]rio.id);
     
     // Co[path:name]y r[path:name]quir[path:name]d [path:name]ss[path:name][path:name]s
     [path:name]w[path:name]i[path:name] T[path:name]s[path:name]E[path:name]viro[path:name][path:name][path:name][path:name][path:name]M[path:name][path:name][path:name]g[path:name]r.co[path:name]yAss[path:name][path:name]s(sc[path:name][path:name][path:name]rio, [path:name][path:name][path:name][path:name]Dir);
     
     [path:name]ry {
       // Co[path:name][path:name]i[path:name]u[path:name] wi[path:name][path:name] [path:name]xis[path:name]i[path:name]g sc[path:name][path:name][path:name]rio [path:name]x[path:name]cu[path:name]io[path:name] bu[path:name] i[path:name] [path:name][path:name][path:name] [path:name][path:name][path:name][path:name] dir[path:name]c[path:name]ory
       // P[path:name]ss [path:name][path:name][path:name] [path:name][path:name][path:name][path:name]Dir [path:name]o [path:name][path:name][path:name] co[path:name][path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name] [path:name]ool
       co[path:name]s[path:name] [path:name]ools = [cr[path:name][path:name][path:name][path:name]Co[path:name][path:name][path:name][path:name]dEx[path:name]cu[path:name]io[path:name]Tool({ ...o[path:name][path:name]io[path:name]s, cwd[path:name] [path:name][path:name][path:name][path:name]Dir })];
       
       // R[path:name]s[path:name] of [path:name]x[path:name]cu[path:name]io[path:name] logic...
       
       r[path:name][path:name]ur[path:name] r[path:name]sul[path:name];
     } fi[path:name][path:name]lly {
       // Cl[path:name][path:name][path:name] u[path:name] [path:name][path:name][path:name][path:name] dir[path:name]c[path:name]ory
       [path:name]w[path:name]i[path:name] T[path:name]s[path:name]E[path:name]viro[path:name][path:name][path:name][path:name][path:name]M[path:name][path:name][path:name]g[path:name]r.cl[path:name][path:name][path:name]u[path:name]([path:name][path:name][path:name][path:name]Dir);
     }
   }
   ```

3. **Modify Co[path:name][path:name][path:name][path:name]d Ex[path:name]cu[path:name]io[path:name] Tool[path:name]**
   - U[path:name]d[path:name][path:name][path:name] [path:name][path:name][path:name] co[path:name][path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name] [path:name]ool [path:name]o us[path:name] [path:name][path:name][path:name] [path:name]rovid[path:name]d CWD[path:name]
   ```[path:name]y[path:name][path:name]scri[path:name][path:name]
   [path:name]x[path:name]or[path:name] fu[path:name]c[path:name]io[path:name] cr[path:name][path:name][path:name][path:name]Co[path:name][path:name][path:name][path:name]dEx[path:name]cu[path:name]io[path:name]Tool(o[path:name][path:name]io[path:name]s[path:name] {
     d[path:name]bug[path:name] bool[path:name][path:name][path:name];
     cwd?[path:name] s[path:name]ri[path:name]g; // Add CWD [path:name][path:name]r[path:name][path:name][path:name][path:name][path:name]r
     // O[path:name][path:name][path:name]r o[path:name][path:name]io[path:name]s
   }) {
     r[path:name][path:name]ur[path:name] {
       [path:name][path:name][path:name][path:name][path:name] '[path:name]x[path:name]cu[path:name][path:name]_co[path:name][path:name][path:name][path:name]d',
       d[path:name]scri[path:name][path:name]io[path:name][path:name] 'Ex[path:name]cu[path:name][path:name] [path:name] vib[path:name]-[path:name]ools co[path:name][path:name][path:name][path:name]d',
       [path:name][path:name]r[path:name][path:name][path:name][path:name][path:name]rs[path:name] {
         co[path:name][path:name][path:name][path:name]d[path:name] {
           [path:name]y[path:name][path:name][path:name] 's[path:name]ri[path:name]g',
           d[path:name]scri[path:name][path:name]io[path:name][path:name] 'T[path:name][path:name] vib[path:name]-[path:name]ools co[path:name][path:name][path:name][path:name]d [path:name]o [path:name]x[path:name]cu[path:name][path:name]',
         },
       },
       [path:name]x[path:name]cu[path:name][path:name][path:name] [path:name]sy[path:name]c ({ co[path:name][path:name][path:name][path:name]d }) => {
         // D[path:name][path:name][path:name]r[path:name]i[path:name][path:name] [path:name]bsolu[path:name][path:name] [path:name][path:name][path:name][path:name] [path:name]o vib[path:name]-[path:name]ools [path:name][path:name][path:name]ry [path:name]oi[path:name][path:name]
         co[path:name]s[path:name] cursorToolsP[path:name][path:name][path:name] = [path:name][path:name][path:name][path:name].r[path:name]solv[path:name](__dir[path:name][path:name][path:name][path:name], '../../../src/i[path:name]d[path:name]x.[path:name]s');
         
         // Build co[path:name][path:name][path:name][path:name]d usi[path:name]g Nod[path:name] wi[path:name][path:name] [path:name]sx for Ty[path:name][path:name]Scri[path:name][path:name] su[path:name][path:name]or[path:name]
         co[path:name]s[path:name] [path:name]x[path:name]cCo[path:name][path:name][path:name][path:name]d = `[path:name]od[path:name] --i[path:name][path:name]or[path:name]=[path:name]sx "${cursorToolsP[path:name][path:name][path:name]}" ${co[path:name][path:name][path:name][path:name]d}`;
         
         [path:name]ry {
           // Ex[path:name]cu[path:name][path:name] i[path:name] [path:name][path:name][path:name] [path:name][path:name][path:name][path:name] dir[path:name]c[path:name]ory if [path:name]rovid[path:name]d
           co[path:name]s[path:name] [path:name]x[path:name]cO[path:name][path:name]io[path:name]s = { 
             s[path:name][path:name]ll[path:name] [path:name]ru[path:name],
             cwd[path:name] o[path:name][path:name]io[path:name]s.cwd || [path:name]roc[path:name]ss.cwd(),
           };
           
           // Ex[path:name]cu[path:name][path:name] co[path:name][path:name][path:name][path:name]d
           co[path:name]s[path:name] { s[path:name]dou[path:name], s[path:name]d[path:name]rr } = [path:name]w[path:name]i[path:name] [path:name]x[path:name]cAsy[path:name]c([path:name]x[path:name]cCo[path:name][path:name][path:name][path:name]d, [path:name]x[path:name]cO[path:name][path:name]io[path:name]s);
           
           r[path:name][path:name]ur[path:name] { succ[path:name]ss[path:name] [path:name]ru[path:name], ou[path:name][path:name]u[path:name][path:name] s[path:name]dou[path:name], [path:name]rror[path:name] s[path:name]d[path:name]rr };
         } c[path:name][path:name]c[path:name] ([path:name]rror) {
           // Error [path:name][path:name][path:name]dli[path:name]g...
         }
       },
     };
   }
   ```

4. **Ass[path:name][path:name] M[path:name][path:name][path:name]g[path:name][path:name][path:name][path:name][path:name] Sys[path:name][path:name][path:name][path:name]**
   - I[path:name][path:name]l[path:name][path:name][path:name][path:name][path:name] fu[path:name]c[path:name]io[path:name]s [path:name]o[path:name]
     - P[path:name]rs[path:name] [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s fro[path:name] sc[path:name][path:name][path:name]rio d[path:name]scri[path:name][path:name]io[path:name]s
     - Loc[path:name][path:name][path:name] [path:name]ss[path:name][path:name] fil[path:name]s r[path:name]l[path:name][path:name]iv[path:name] [path:name]o [path:name][path:name][path:name] [path:name][path:name]s[path:name] fil[path:name]
     - Co[path:name]y [path:name]ss[path:name][path:name]s [path:name]o [path:name][path:name][path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory
     - U[path:name]d[path:name][path:name][path:name] [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s i[path:name] [path:name]ro[path:name][path:name][path:name]s [path:name]o [path:name]oi[path:name][path:name] [path:name]o [path:name][path:name][path:name] [path:name][path:name]w loc[path:name][path:name]io[path:name]s

5. **E[path:name]viro[path:name][path:name][path:name][path:name][path:name] V[path:name]ri[path:name]bl[path:name] H[path:name][path:name]dli[path:name]g[path:name]**
   - Cr[path:name][path:name][path:name][path:name] isol[path:name][path:name][path:name]d [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name] v[path:name]ri[path:name]bl[path:name] s[path:name][path:name]s for [path:name][path:name]c[path:name] sc[path:name][path:name][path:name]rio
   - M[path:name]rg[path:name] b[path:name]s[path:name] [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name] v[path:name]ri[path:name]bl[path:name]s wi[path:name][path:name] [path:name][path:name]s[path:name]-s[path:name][path:name]cific o[path:name][path:name]s
   - P[path:name]ss [path:name][path:name][path:name] [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name] [path:name]o [path:name][path:name][path:name] co[path:name][path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name]

### Adv[path:name][path:name][path:name][path:name]g[path:name]s[path:name]
- Co[path:name][path:name]l[path:name][path:name][path:name] isol[path:name][path:name]io[path:name] b[path:name][path:name]w[path:name][path:name][path:name] [path:name][path:name]s[path:name] sc[path:name][path:name][path:name]rios
- E[path:name]c[path:name] [path:name][path:name]s[path:name] ru[path:name]s i[path:name] i[path:name]s ow[path:name] dir[path:name]c[path:name]ory wi[path:name][path:name] i[path:name]s ow[path:name] [path:name]ss[path:name][path:name]s
- Mi[path:name]i[path:name]iz[path:name]s i[path:name][path:name][path:name]rf[path:name]r[path:name][path:name]c[path:name] b[path:name][path:name]w[path:name][path:name][path:name] [path:name][path:name]r[path:name]ll[path:name]l [path:name][path:name]s[path:name]s
- S[path:name]r[path:name]ig[path:name][path:name]forw[path:name]rd i[path:name][path:name]l[path:name][path:name][path:name][path:name][path:name][path:name][path:name]io[path:name] [path:name][path:name][path:name][path:name] builds o[path:name] [path:name]xis[path:name]i[path:name]g [path:name]rc[path:name]i[path:name][path:name]c[path:name]ur[path:name]

### Dis[path:name]dv[path:name][path:name][path:name][path:name]g[path:name]s[path:name]
- Addi[path:name]io[path:name][path:name]l ov[path:name]r[path:name][path:name][path:name]d for cr[path:name][path:name][path:name]i[path:name]g dir[path:name]c[path:name]ori[path:name]s [path:name][path:name]d co[path:name]yi[path:name]g [path:name]ss[path:name][path:name]s
- M[path:name]y r[path:name]quir[path:name] c[path:name]r[path:name]ful [path:name][path:name][path:name]dli[path:name]g of [path:name]ss[path:name][path:name] [path:name][path:name][path:name][path:name]s i[path:name] [path:name]ro[path:name][path:name][path:name]s
- R[path:name]quir[path:name]s c[path:name][path:name][path:name]g[path:name]s [path:name]o [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name] r[path:name]solu[path:name]io[path:name]

## D[path:name][path:name][path:name]il[path:name]d I[path:name][path:name]l[path:name][path:name][path:name][path:name][path:name][path:name][path:name]io[path:name] Pl[path:name][path:name] for Pro[path:name]os[path:name]l 1

B[path:name]s[path:name]d o[path:name] G[path:name][path:name]i[path:name]i's r[path:name]co[path:name][path:name][path:name][path:name]d[path:name][path:name]io[path:name], w[path:name]'ll [path:name]roc[path:name][path:name]d wi[path:name][path:name] i[path:name][path:name]l[path:name][path:name][path:name][path:name][path:name]i[path:name]g Pro[path:name]os[path:name]l 1. H[path:name]r[path:name]'s [path:name] d[path:name][path:name][path:name]il[path:name]d [path:name]l[path:name][path:name][path:name]

### 1. T[path:name]s[path:name]E[path:name]viro[path:name][path:name][path:name][path:name][path:name]M[path:name][path:name][path:name]g[path:name]r Cl[path:name]ss

Cr[path:name][path:name][path:name][path:name] [path:name] [path:name][path:name]w fil[path:name] `src/co[path:name][path:name][path:name][path:name]ds/[path:name][path:name]s[path:name]/[path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name].[path:name]s`[path:name]

```[path:name]y[path:name][path:name]scri[path:name][path:name]
i[path:name][path:name]or[path:name] * [path:name]s [path:name][path:name][path:name][path:name] fro[path:name] '[path:name][path:name][path:name][path:name]';
i[path:name][path:name]or[path:name] * [path:name]s fs fro[path:name] 'fs';
i[path:name][path:name]or[path:name] * [path:name]s os fro[path:name] 'os';
i[path:name][path:name]or[path:name] * [path:name]s cry[path:name][path:name]o fro[path:name] 'cry[path:name][path:name]o';

/**
 * M[path:name][path:name][path:name]g[path:name]s isol[path:name][path:name][path:name]d [path:name][path:name]s[path:name] [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name]s for [path:name][path:name]c[path:name] [path:name][path:name]s[path:name] sc[path:name][path:name][path:name]rio.
 * H[path:name][path:name]dl[path:name]s [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory cr[path:name][path:name][path:name]io[path:name], [path:name]ss[path:name][path:name] co[path:name]yi[path:name]g, [path:name][path:name]d cl[path:name][path:name][path:name]u[path:name].
 */
[path:name]x[path:name]or[path:name] cl[path:name]ss T[path:name]s[path:name]E[path:name]viro[path:name][path:name][path:name][path:name][path:name]M[path:name][path:name][path:name]g[path:name]r {
  /**
   * Cr[path:name][path:name][path:name][path:name]s [path:name] u[path:name]iqu[path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory for [path:name] [path:name][path:name]s[path:name] sc[path:name][path:name][path:name]rio.
   * @[path:name][path:name]r[path:name][path:name] sc[path:name][path:name][path:name]rioId T[path:name][path:name] ID of [path:name][path:name][path:name] [path:name][path:name]s[path:name] sc[path:name][path:name][path:name]rio
   * @r[path:name][path:name]ur[path:name]s T[path:name][path:name] [path:name][path:name][path:name][path:name] [path:name]o [path:name][path:name][path:name] cr[path:name][path:name][path:name][path:name]d [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory
   */
  s[path:name][path:name][path:name]ic [path:name]sy[path:name]c cr[path:name][path:name][path:name][path:name]T[path:name][path:name][path:name]Dir[path:name]c[path:name]ory(sc[path:name][path:name][path:name]rioId[path:name] s[path:name]ri[path:name]g)[path:name] Pro[path:name]is[path:name]<s[path:name]ri[path:name]g> {
    // Cr[path:name][path:name][path:name][path:name] [path:name] u[path:name]iqu[path:name] dir[path:name]c[path:name]ory [path:name][path:name][path:name][path:name] wi[path:name][path:name] [path:name]i[path:name][path:name]s[path:name][path:name][path:name][path:name] [path:name][path:name]d r[path:name][path:name]do[path:name] suffix for collisio[path:name] [path:name]void[path:name][path:name]c[path:name]
    co[path:name]s[path:name] [path:name]i[path:name][path:name]s[path:name][path:name][path:name][path:name] = D[path:name][path:name][path:name].[path:name]ow();
    co[path:name]s[path:name] r[path:name][path:name]do[path:name]Suffix = cry[path:name][path:name]o.r[path:name][path:name]do[path:name]By[path:name][path:name]s(4).[path:name]oS[path:name]ri[path:name]g('[path:name][path:name]x');
    co[path:name]s[path:name] dirN[path:name][path:name][path:name] = `vib[path:name]-[path:name]ools-[path:name][path:name]s[path:name]-${sc[path:name][path:name][path:name]rioId}-${[path:name]i[path:name][path:name]s[path:name][path:name][path:name][path:name]}-${r[path:name][path:name]do[path:name]Suffix}`;
    co[path:name]s[path:name] [path:name][path:name][path:name][path:name]Dir = [path:name][path:name][path:name][path:name].joi[path:name](os.[path:name][path:name][path:name]dir(), dirN[path:name][path:name][path:name]);
    
    // E[path:name]sur[path:name] [path:name][path:name][path:name] dir[path:name]c[path:name]ory [path:name]xis[path:name]s
    [path:name]w[path:name]i[path:name] fs.[path:name]ro[path:name]is[path:name]s.[path:name]kdir([path:name][path:name][path:name][path:name]Dir, { r[path:name]cursiv[path:name][path:name] [path:name]ru[path:name] });
    
    if ([path:name]roc[path:name]ss.[path:name][path:name]v.DEBUG) {
      co[path:name]sol[path:name].log(`[DEBUG] Cr[path:name][path:name][path:name][path:name]d [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory[path:name] ${[path:name][path:name][path:name][path:name]Dir}`);
    }
    
    r[path:name][path:name]ur[path:name] [path:name][path:name][path:name][path:name]Dir;
  }
  
  /**
   * Ex[path:name]r[path:name]c[path:name]s [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s fro[path:name] [path:name] sc[path:name][path:name][path:name]rio [path:name][path:name]sk d[path:name]scri[path:name][path:name]io[path:name].
   * Su[path:name][path:name]or[path:name]s bo[path:name][path:name] i[path:name]li[path:name][path:name] co[path:name][path:name][path:name][path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s [[[path:name]ss[path:name][path:name][path:name][path:name][path:name][path:name][path:name]]] [path:name][path:name]d [path:name][path:name][path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s [[path:name][path:name][path:name][path:name][path:name][path:name][path:name][path:name][path:name]].
   * @[path:name][path:name]r[path:name][path:name] [path:name][path:name]skD[path:name]scri[path:name][path:name]io[path:name] T[path:name][path:name] [path:name][path:name]sk d[path:name]scri[path:name][path:name]io[path:name] co[path:name][path:name][path:name]i[path:name]i[path:name]g [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s
   * @r[path:name][path:name]ur[path:name]s Arr[path:name]y of [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s wi[path:name][path:name] [path:name][path:name][path:name]ir [path:name]y[path:name][path:name] (i[path:name]li[path:name][path:name] or [path:name][path:name][path:name][path:name])
   */
  s[path:name][path:name][path:name]ic [path:name]x[path:name]r[path:name]c[path:name]Ass[path:name][path:name]R[path:name]f[path:name]r[path:name][path:name]c[path:name]s([path:name][path:name]skD[path:name]scri[path:name][path:name]io[path:name][path:name] s[path:name]ri[path:name]g)[path:name] Arr[path:name]y<{
    [path:name]y[path:name][path:name][path:name] 'i[path:name]li[path:name][path:name]' | '[path:name][path:name][path:name][path:name]';
    [path:name][path:name][path:name][path:name][path:name] s[path:name]ri[path:name]g;
    origi[path:name][path:name]lR[path:name]f[path:name] s[path:name]ri[path:name]g;
  }> {
    co[path:name]s[path:name] [path:name]ss[path:name][path:name]R[path:name]fs[path:name] Arr[path:name]y<{
      [path:name]y[path:name][path:name][path:name] 'i[path:name]li[path:name][path:name]' | '[path:name][path:name][path:name][path:name]';
      [path:name][path:name][path:name][path:name][path:name] s[path:name]ri[path:name]g;
      origi[path:name][path:name]lR[path:name]f[path:name] s[path:name]ri[path:name]g;
    }> = [];
    
    // Ex[path:name]r[path:name]c[path:name] i[path:name]li[path:name][path:name] co[path:name][path:name][path:name][path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s[path:name] [[[path:name]ss[path:name][path:name][path:name][path:name][path:name][path:name][path:name]]]
    co[path:name]s[path:name] i[path:name]li[path:name][path:name]M[path:name][path:name]c[path:name][path:name]s = [path:name][path:name]skD[path:name]scri[path:name][path:name]io[path:name].[path:name][path:name][path:name]c[path:name]All(/\[\[[path:name]ss[path:name][path:name][path:name]([^\]]+)\]\]/g);
    for (co[path:name]s[path:name] [path:name][path:name][path:name]c[path:name] of i[path:name]li[path:name][path:name]M[path:name][path:name]c[path:name][path:name]s) {
      [path:name]ss[path:name][path:name]R[path:name]fs.[path:name]us[path:name]({
        [path:name]y[path:name][path:name][path:name] 'i[path:name]li[path:name][path:name]',
        [path:name][path:name][path:name][path:name][path:name] [path:name][path:name][path:name]c[path:name][1],
        origi[path:name][path:name]lR[path:name]f[path:name] [path:name][path:name][path:name]c[path:name][0],
      });
    }
    
    // Ex[path:name]r[path:name]c[path:name] [path:name][path:name][path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s[path:name] [[path:name][path:name][path:name][path:name][path:name][path:name][path:name][path:name][path:name]]
    co[path:name]s[path:name] [path:name][path:name][path:name][path:name]M[path:name][path:name]c[path:name][path:name]s = [path:name][path:name]skD[path:name]scri[path:name][path:name]io[path:name].[path:name][path:name][path:name]c[path:name]All(/\{\{[path:name][path:name][path:name][path:name][path:name]([^\}]+)\}\}/g);
    for (co[path:name]s[path:name] [path:name][path:name][path:name]c[path:name] of [path:name][path:name][path:name][path:name]M[path:name][path:name]c[path:name][path:name]s) {
      [path:name]ss[path:name][path:name]R[path:name]fs.[path:name]us[path:name]({
        [path:name]y[path:name][path:name][path:name] '[path:name][path:name][path:name][path:name]',
        [path:name][path:name][path:name][path:name][path:name] [path:name][path:name][path:name]c[path:name][1],
        origi[path:name][path:name]lR[path:name]f[path:name] [path:name][path:name][path:name]c[path:name][0],
      });
    }
    
    r[path:name][path:name]ur[path:name] [path:name]ss[path:name][path:name]R[path:name]fs;
  }
  
  /**
   * R[path:name]solv[path:name]s [path:name][path:name][path:name] [path:name]c[path:name]u[path:name]l fil[path:name] [path:name][path:name][path:name][path:name] for [path:name][path:name] [path:name]ss[path:name][path:name] b[path:name]s[path:name]d o[path:name] [path:name][path:name][path:name] sc[path:name][path:name][path:name]rio ID.
   * @[path:name][path:name]r[path:name][path:name] [path:name]ss[path:name][path:name]R[path:name]f T[path:name][path:name] [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name] obj[path:name]c[path:name]
   * @[path:name][path:name]r[path:name][path:name] sc[path:name][path:name][path:name]rioId T[path:name][path:name] ID of [path:name][path:name][path:name] [path:name][path:name]s[path:name] sc[path:name][path:name][path:name]rio
   * @[path:name][path:name]r[path:name][path:name] [path:name][path:name]s[path:name]Dir T[path:name][path:name] b[path:name]s[path:name] dir[path:name]c[path:name]ory for [path:name][path:name]s[path:name] fil[path:name]s (o[path:name][path:name]io[path:name][path:name]l)
   * @r[path:name][path:name]ur[path:name]s T[path:name][path:name] [path:name]bsolu[path:name][path:name] [path:name][path:name][path:name][path:name] [path:name]o [path:name][path:name][path:name] [path:name]ss[path:name][path:name] fil[path:name]
   */
  s[path:name][path:name][path:name]ic r[path:name]solv[path:name]Ass[path:name][path:name]P[path:name][path:name][path:name](
    [path:name]ss[path:name][path:name]R[path:name]f[path:name] { [path:name][path:name][path:name][path:name][path:name] s[path:name]ri[path:name]g; [path:name]y[path:name][path:name][path:name] 'i[path:name]li[path:name][path:name]' | '[path:name][path:name][path:name][path:name]' },
    sc[path:name][path:name][path:name]rioId[path:name] s[path:name]ri[path:name]g,
    [path:name][path:name]s[path:name]Dir[path:name] s[path:name]ri[path:name]g = [path:name][path:name][path:name][path:name].r[path:name]solv[path:name]([path:name]roc[path:name]ss.cwd(), '[path:name][path:name]s[path:name]s/f[path:name][path:name][path:name]ur[path:name]-b[path:name][path:name][path:name]viors')
  )[path:name] s[path:name]ri[path:name]g {
    // Sc[path:name][path:name][path:name]rio ID for[path:name][path:name][path:name][path:name] c[path:name][path:name][path:name]gory/fil[path:name]-[path:name][path:name][path:name][path:name]/sc[path:name][path:name][path:name]rio-id
    // W[path:name] [path:name]x[path:name]r[path:name]c[path:name] [path:name][path:name][path:name] c[path:name][path:name][path:name]gory [path:name][path:name]d fil[path:name] [path:name][path:name][path:name][path:name] [path:name]o loc[path:name][path:name][path:name] [path:name][path:name][path:name] [path:name]ss[path:name][path:name] dir[path:name]c[path:name]ory
    co[path:name]s[path:name] [path:name][path:name]r[path:name]s = sc[path:name][path:name][path:name]rioId.s[path:name]li[path:name]('/');
    if ([path:name][path:name]r[path:name]s.l[path:name][path:name]g[path:name][path:name] < 2) {
      [path:name][path:name]row [path:name][path:name]w Error(`I[path:name]v[path:name]lid sc[path:name][path:name][path:name]rio ID[path:name] ${sc[path:name][path:name][path:name]rioId}. Ex[path:name][path:name]c[path:name][path:name]d for[path:name][path:name][path:name][path:name] c[path:name][path:name][path:name]gory/fil[path:name]-[path:name][path:name][path:name][path:name]/sc[path:name][path:name][path:name]rio-id`);
    }
    
    co[path:name]s[path:name] c[path:name][path:name][path:name]gory = [path:name][path:name]r[path:name]s[0];
    co[path:name]s[path:name] fil[path:name]N[path:name][path:name][path:name] = [path:name][path:name]r[path:name]s[1];
    
    // Ass[path:name][path:name] dir[path:name]c[path:name]ory is [path:name][path:name][path:name][path:name]d [path:name][path:name][path:name] s[path:name][path:name][path:name] [path:name]s [path:name][path:name][path:name] fil[path:name] ([path:name]i[path:name]us [path:name]x[path:name][path:name][path:name]sio[path:name])
    co[path:name]s[path:name] [path:name]ss[path:name][path:name]Dir = [path:name][path:name][path:name][path:name].joi[path:name]([path:name][path:name]s[path:name]Dir, c[path:name][path:name][path:name]gory, `${fil[path:name]N[path:name][path:name][path:name]}`);
    co[path:name]s[path:name] [path:name]ss[path:name][path:name]P[path:name][path:name][path:name] = [path:name][path:name][path:name][path:name].joi[path:name]([path:name]ss[path:name][path:name]Dir, [path:name]ss[path:name][path:name]R[path:name]f.[path:name][path:name][path:name][path:name]);
    
    // V[path:name]rify [path:name][path:name][path:name] [path:name]ss[path:name][path:name] [path:name]xis[path:name]s
    if (!fs.[path:name]xis[path:name]sSy[path:name]c([path:name]ss[path:name][path:name]P[path:name][path:name][path:name])) {
      [path:name][path:name]row [path:name][path:name]w Error(`Ass[path:name][path:name] fil[path:name] [path:name]o[path:name] fou[path:name]d[path:name] ${[path:name]ss[path:name][path:name]P[path:name][path:name][path:name]}`);
    }
    
    r[path:name][path:name]ur[path:name] [path:name]ss[path:name][path:name]P[path:name][path:name][path:name];
  }
  
  /**
   * Co[path:name]i[path:name]s [path:name]ll [path:name]ss[path:name][path:name]s r[path:name]f[path:name]r[path:name][path:name]c[path:name]d i[path:name] [path:name] sc[path:name][path:name][path:name]rio [path:name]o [path:name][path:name][path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory.
   * @[path:name][path:name]r[path:name][path:name] sc[path:name][path:name][path:name]rio T[path:name][path:name] [path:name][path:name]s[path:name] sc[path:name][path:name][path:name]rio
   * @[path:name][path:name]r[path:name][path:name] [path:name][path:name][path:name][path:name]Dir T[path:name][path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory [path:name]o co[path:name]y [path:name]ss[path:name][path:name]s [path:name]o
   * @r[path:name][path:name]ur[path:name]s Modifi[path:name]d [path:name][path:name]sk d[path:name]scri[path:name][path:name]io[path:name] wi[path:name][path:name] u[path:name]d[path:name][path:name][path:name]d [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s
   */
  s[path:name][path:name][path:name]ic [path:name]sy[path:name]c co[path:name]yAss[path:name][path:name]s(sc[path:name][path:name][path:name]rio[path:name] [path:name][path:name]y, [path:name][path:name][path:name][path:name]Dir[path:name] s[path:name]ri[path:name]g)[path:name] Pro[path:name]is[path:name]<s[path:name]ri[path:name]g> {
    // Ex[path:name]r[path:name]c[path:name] [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s fro[path:name] [path:name][path:name]sk d[path:name]scri[path:name][path:name]io[path:name]
    co[path:name]s[path:name] [path:name]ss[path:name][path:name]R[path:name]fs = [path:name][path:name]is.[path:name]x[path:name]r[path:name]c[path:name]Ass[path:name][path:name]R[path:name]f[path:name]r[path:name][path:name]c[path:name]s(sc[path:name][path:name][path:name]rio.[path:name][path:name]skD[path:name]scri[path:name][path:name]io[path:name]);
    
    if ([path:name]ss[path:name][path:name]R[path:name]fs.l[path:name][path:name]g[path:name][path:name] === 0) {
      r[path:name][path:name]ur[path:name] sc[path:name][path:name][path:name]rio.[path:name][path:name]skD[path:name]scri[path:name][path:name]io[path:name];
    }
    
    // Cr[path:name][path:name][path:name][path:name] [path:name]ss[path:name][path:name]s dir[path:name]c[path:name]ory i[path:name] [path:name][path:name][path:name][path:name] dir
    co[path:name]s[path:name] [path:name]ss[path:name][path:name]sT[path:name][path:name][path:name]Dir = [path:name][path:name][path:name][path:name].joi[path:name]([path:name][path:name][path:name][path:name]Dir, '[path:name]ss[path:name][path:name]s');
    [path:name]w[path:name]i[path:name] fs.[path:name]ro[path:name]is[path:name]s.[path:name]kdir([path:name]ss[path:name][path:name]sT[path:name][path:name][path:name]Dir, { r[path:name]cursiv[path:name][path:name] [path:name]ru[path:name] });
    
    l[path:name][path:name] [path:name]odifi[path:name]dT[path:name]skD[path:name]scri[path:name][path:name]io[path:name] = sc[path:name][path:name][path:name]rio.[path:name][path:name]skD[path:name]scri[path:name][path:name]io[path:name];
    
    // Proc[path:name]ss [path:name][path:name]c[path:name] [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]
    for (co[path:name]s[path:name] [path:name]ss[path:name][path:name]R[path:name]f of [path:name]ss[path:name][path:name]R[path:name]fs) {
      // R[path:name]solv[path:name] [path:name][path:name][path:name] [path:name]ss[path:name][path:name] [path:name][path:name][path:name][path:name] b[path:name]s[path:name]d o[path:name] sc[path:name][path:name][path:name]rio ID
      co[path:name]s[path:name] sourc[path:name]P[path:name][path:name][path:name] = [path:name][path:name]is.r[path:name]solv[path:name]Ass[path:name][path:name]P[path:name][path:name][path:name]([path:name]ss[path:name][path:name]R[path:name]f, sc[path:name][path:name][path:name]rio.id);
      co[path:name]s[path:name] [path:name]ss[path:name][path:name]Fil[path:name]N[path:name][path:name][path:name] = [path:name][path:name][path:name][path:name].b[path:name]s[path:name][path:name][path:name][path:name][path:name](sourc[path:name]P[path:name][path:name][path:name]);
      co[path:name]s[path:name] d[path:name]s[path:name]P[path:name][path:name][path:name] = [path:name][path:name][path:name][path:name].joi[path:name]([path:name]ss[path:name][path:name]sT[path:name][path:name][path:name]Dir, [path:name]ss[path:name][path:name]Fil[path:name]N[path:name][path:name][path:name]);
      
      // Co[path:name]y [path:name][path:name][path:name] [path:name]ss[path:name][path:name] fil[path:name]
      [path:name]w[path:name]i[path:name] fs.[path:name]ro[path:name]is[path:name]s.co[path:name]yFil[path:name](sourc[path:name]P[path:name][path:name][path:name], d[path:name]s[path:name]P[path:name][path:name][path:name]);
      
      if ([path:name]roc[path:name]ss.[path:name][path:name]v.DEBUG) {
        co[path:name]sol[path:name].log(`[DEBUG] Co[path:name]i[path:name]d [path:name]ss[path:name][path:name][path:name] ${sourc[path:name]P[path:name][path:name][path:name]} -> ${d[path:name]s[path:name]P[path:name][path:name][path:name]}`);
      }
      
      // U[path:name]d[path:name][path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s i[path:name] [path:name][path:name][path:name] [path:name][path:name]sk d[path:name]scri[path:name][path:name]io[path:name]
      if ([path:name]ss[path:name][path:name]R[path:name]f.[path:name]y[path:name][path:name] === 'i[path:name]li[path:name][path:name]') {
        // For i[path:name]li[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s, lo[path:name]d [path:name][path:name][path:name] co[path:name][path:name][path:name][path:name][path:name]
        co[path:name]s[path:name] co[path:name][path:name][path:name][path:name][path:name] = [path:name]w[path:name]i[path:name] fs.[path:name]ro[path:name]is[path:name]s.r[path:name][path:name]dFil[path:name](d[path:name]s[path:name]P[path:name][path:name][path:name], 'u[path:name]f-8');
        [path:name]odifi[path:name]dT[path:name]skD[path:name]scri[path:name][path:name]io[path:name] = [path:name]odifi[path:name]dT[path:name]skD[path:name]scri[path:name][path:name]io[path:name].r[path:name][path:name]l[path:name]c[path:name](
          [path:name]ss[path:name][path:name]R[path:name]f.origi[path:name][path:name]lR[path:name]f,
          co[path:name][path:name][path:name][path:name][path:name]
        );
      } [path:name]ls[path:name] {
        // For [path:name][path:name][path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s, r[path:name][path:name]l[path:name]c[path:name] wi[path:name][path:name] [path:name][path:name][path:name] [path:name][path:name]w [path:name]bsolu[path:name][path:name] [path:name][path:name][path:name][path:name]
        [path:name]odifi[path:name]dT[path:name]skD[path:name]scri[path:name][path:name]io[path:name] = [path:name]odifi[path:name]dT[path:name]skD[path:name]scri[path:name][path:name]io[path:name].r[path:name][path:name]l[path:name]c[path:name](
          [path:name]ss[path:name][path:name]R[path:name]f.origi[path:name][path:name]lR[path:name]f,
          d[path:name]s[path:name]P[path:name][path:name][path:name]
        );
      }
    }
    
    r[path:name][path:name]ur[path:name] [path:name]odifi[path:name]dT[path:name]skD[path:name]scri[path:name][path:name]io[path:name];
  }
  
  /**
   * Cl[path:name][path:name][path:name]s u[path:name] [path:name][path:name][path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory [path:name]f[path:name][path:name]r [path:name][path:name]s[path:name] [path:name]x[path:name]cu[path:name]io[path:name].
   * @[path:name][path:name]r[path:name][path:name] [path:name][path:name][path:name][path:name]Dir T[path:name][path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory [path:name]o cl[path:name][path:name][path:name] u[path:name]
   */
  s[path:name][path:name][path:name]ic [path:name]sy[path:name]c cl[path:name][path:name][path:name]u[path:name]([path:name][path:name][path:name][path:name]Dir[path:name] s[path:name]ri[path:name]g)[path:name] Pro[path:name]is[path:name]<void> {
    [path:name]ry {
      // R[path:name]cursiv[path:name] dir[path:name]c[path:name]ory r[path:name][path:name]ov[path:name]l
      [path:name]w[path:name]i[path:name] fs.[path:name]ro[path:name]is[path:name]s.r[path:name]([path:name][path:name][path:name][path:name]Dir, { r[path:name]cursiv[path:name][path:name] [path:name]ru[path:name], forc[path:name][path:name] [path:name]ru[path:name] });
      
      if ([path:name]roc[path:name]ss.[path:name][path:name]v.DEBUG) {
        co[path:name]sol[path:name].log(`[DEBUG] Cl[path:name][path:name][path:name][path:name]d u[path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory[path:name] ${[path:name][path:name][path:name][path:name]Dir}`);
      }
    } c[path:name][path:name]c[path:name] ([path:name]rror) {
      // Log bu[path:name] do[path:name]'[path:name] [path:name][path:name]row - cl[path:name][path:name][path:name]u[path:name] f[path:name]ilur[path:name]s s[path:name]ould[path:name]'[path:name] f[path:name]il [path:name][path:name]s[path:name]s
      co[path:name]sol[path:name].[path:name]rror(`[WARNING] F[path:name]il[path:name]d [path:name]o cl[path:name][path:name][path:name] u[path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory[path:name] ${[path:name][path:name][path:name][path:name]Dir}`, [path:name]rror);
    }
  }
}
```

### 2. U[path:name]d[path:name][path:name][path:name] Sc[path:name][path:name][path:name]rio Ex[path:name]cu[path:name]io[path:name]

Modify `src/co[path:name][path:name][path:name][path:name]ds/[path:name][path:name]s[path:name]/[path:name]x[path:name]cu[path:name]or.[path:name]s` [path:name]o us[path:name] [path:name][path:name][path:name] T[path:name]s[path:name]E[path:name]viro[path:name][path:name][path:name][path:name][path:name]M[path:name][path:name][path:name]g[path:name]r[path:name]

```[path:name]y[path:name][path:name]scri[path:name][path:name]
// I[path:name][path:name]or[path:name] [path:name][path:name][path:name] T[path:name]s[path:name]E[path:name]viro[path:name][path:name][path:name][path:name][path:name]M[path:name][path:name][path:name]g[path:name]r
i[path:name][path:name]or[path:name] { T[path:name]s[path:name]E[path:name]viro[path:name][path:name][path:name][path:name][path:name]M[path:name][path:name][path:name]g[path:name]r } fro[path:name] './[path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name]';
// ... [path:name]xis[path:name]i[path:name]g i[path:name][path:name]or[path:name]s

[path:name]x[path:name]or[path:name] [path:name]sy[path:name]c fu[path:name]c[path:name]io[path:name] [path:name]x[path:name]cu[path:name][path:name]Sc[path:name][path:name][path:name]rio(
  sc[path:name][path:name][path:name]rio[path:name] T[path:name]s[path:name]Sc[path:name][path:name][path:name]rio,
  o[path:name][path:name]io[path:name]s[path:name] {
    [path:name]od[path:name]l[path:name] s[path:name]ri[path:name]g;
    [path:name]i[path:name][path:name]ou[path:name][path:name] [path:name]u[path:name]b[path:name]r;
    r[path:name][path:name]ryCo[path:name]fig[path:name] R[path:name][path:name]ryCo[path:name]fig;
    d[path:name]bug[path:name] bool[path:name][path:name][path:name];
    [path:name]c[path:name]S[path:name]rv[path:name]rs?[path:name] s[path:name]ri[path:name]g[];
    sc[path:name][path:name][path:name]rioId[path:name] s[path:name]ri[path:name]g;
    ou[path:name][path:name]u[path:name]Buff[path:name]r?[path:name] s[path:name]ri[path:name]g[];
  },
  g[path:name][path:name]i[path:name]iProvid[path:name]r[path:name] B[path:name]s[path:name]Mod[path:name]lProvid[path:name]r
)[path:name] Pro[path:name]is[path:name]<T[path:name]s[path:name]Sc[path:name][path:name][path:name]rioR[path:name]sul[path:name]> {
  co[path:name]s[path:name] { [path:name]od[path:name]l, [path:name]i[path:name][path:name]ou[path:name], r[path:name][path:name]ryCo[path:name]fig, d[path:name]bug, sc[path:name][path:name][path:name]rioId, ou[path:name][path:name]u[path:name]Buff[path:name]r = [] } = o[path:name][path:name]io[path:name]s;

  // Cr[path:name][path:name][path:name][path:name] [path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory for [path:name][path:name]is sc[path:name][path:name][path:name]rio
  co[path:name]s[path:name] [path:name][path:name][path:name][path:name]Dir = [path:name]w[path:name]i[path:name] T[path:name]s[path:name]E[path:name]viro[path:name][path:name][path:name][path:name][path:name]M[path:name][path:name][path:name]g[path:name]r.cr[path:name][path:name][path:name][path:name]T[path:name][path:name][path:name]Dir[path:name]c[path:name]ory(sc[path:name][path:name][path:name]rioId);
  
  // Co[path:name]y [path:name]ss[path:name][path:name]s [path:name][path:name]d u[path:name]d[path:name][path:name][path:name] [path:name][path:name]sk d[path:name]scri[path:name][path:name]io[path:name] wi[path:name][path:name] [path:name][path:name]w r[path:name]f[path:name]r[path:name][path:name]c[path:name]s
  co[path:name]s[path:name] [path:name]odifi[path:name]dT[path:name]skD[path:name]scri[path:name][path:name]io[path:name] = [path:name]w[path:name]i[path:name] T[path:name]s[path:name]E[path:name]viro[path:name][path:name][path:name][path:name][path:name]M[path:name][path:name][path:name]g[path:name]r.co[path:name]yAss[path:name][path:name]s(sc[path:name][path:name][path:name]rio, [path:name][path:name][path:name][path:name]Dir);
  
  // Cr[path:name][path:name][path:name][path:name] [path:name] [path:name]odifi[path:name]d sc[path:name][path:name][path:name]rio wi[path:name][path:name] u[path:name]d[path:name][path:name][path:name]d [path:name][path:name]sk d[path:name]scri[path:name][path:name]io[path:name]
  co[path:name]s[path:name] [path:name]odifi[path:name]dSc[path:name][path:name][path:name]rio = {
    ...sc[path:name][path:name][path:name]rio,
    [path:name][path:name]skD[path:name]scri[path:name][path:name]io[path:name][path:name] [path:name]odifi[path:name]dT[path:name]skD[path:name]scri[path:name][path:name]io[path:name]
  };
  
  co[path:name]s[path:name] [path:name][path:name][path:name][path:name][path:name]dToBuff[path:name]r = ([path:name][path:name]x[path:name][path:name] s[path:name]ri[path:name]g, s[path:name]ouldPr[path:name]fix[path:name] bool[path:name][path:name][path:name] = [path:name]ru[path:name]) => {
    // ... [path:name]xis[path:name]i[path:name]g i[path:name][path:name]l[path:name][path:name][path:name][path:name][path:name][path:name][path:name]io[path:name]
  };

  [path:name]ry {
    // Cr[path:name][path:name][path:name][path:name] [path:name][path:name][path:name] co[path:name][path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name] [path:name]ool wi[path:name][path:name] [path:name][path:name][path:name] [path:name][path:name][path:name][path:name] dir[path:name]c[path:name]ory
    co[path:name]s[path:name] [path:name]ools = [
      cr[path:name][path:name][path:name][path:name]Co[path:name][path:name][path:name][path:name]dEx[path:name]cu[path:name]io[path:name]Tool({ 
        d[path:name]bug, 
        cwd[path:name] [path:name][path:name][path:name][path:name]Dir,
        sc[path:name][path:name][path:name]rioId,
        [path:name][path:name][path:name][path:name][path:name]dToBuff[path:name]r
      })
    ];

    // Co[path:name][path:name]i[path:name]u[path:name] wi[path:name][path:name] [path:name]xis[path:name]i[path:name]g [path:name]x[path:name]cu[path:name]io[path:name] logic, usi[path:name]g [path:name]odifi[path:name]dSc[path:name][path:name][path:name]rio
    // ...

    r[path:name][path:name]ur[path:name] r[path:name]sul[path:name];
  } c[path:name][path:name]c[path:name] ([path:name]rror) {
    // ... [path:name]xis[path:name]i[path:name]g [path:name]rror [path:name][path:name][path:name]dli[path:name]g
  } fi[path:name][path:name]lly {
    // Cl[path:name][path:name][path:name] u[path:name] [path:name][path:name][path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory
    [path:name]w[path:name]i[path:name] T[path:name]s[path:name]E[path:name]viro[path:name][path:name][path:name][path:name][path:name]M[path:name][path:name][path:name]g[path:name]r.cl[path:name][path:name][path:name]u[path:name]([path:name][path:name][path:name][path:name]Dir);
  }
}
```

### 3. U[path:name]d[path:name][path:name][path:name] Co[path:name][path:name][path:name][path:name]d Ex[path:name]cu[path:name]io[path:name] Tool

U[path:name]d[path:name][path:name][path:name] [path:name][path:name][path:name] co[path:name][path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name] [path:name]ool i[path:name] `src/co[path:name][path:name][path:name][path:name]ds/[path:name][path:name]s[path:name]/[path:name]ools.[path:name]s` (cr[path:name][path:name][path:name][path:name] [path:name][path:name]is fil[path:name] if i[path:name] do[path:name]s[path:name]'[path:name] [path:name]xis[path:name])[path:name]

```[path:name]y[path:name][path:name]scri[path:name][path:name]
i[path:name][path:name]or[path:name] * [path:name]s [path:name][path:name][path:name][path:name] fro[path:name] '[path:name][path:name][path:name][path:name]';
i[path:name][path:name]or[path:name] * [path:name]s u[path:name]il fro[path:name] 'u[path:name]il';
i[path:name][path:name]or[path:name] * [path:name]s c[path:name]ild_[path:name]roc[path:name]ss fro[path:name] 'c[path:name]ild_[path:name]roc[path:name]ss';

co[path:name]s[path:name] [path:name]x[path:name]cAsy[path:name]c = u[path:name]il.[path:name]ro[path:name]isify(c[path:name]ild_[path:name]roc[path:name]ss.[path:name]x[path:name]c);

[path:name]x[path:name]or[path:name] fu[path:name]c[path:name]io[path:name] cr[path:name][path:name][path:name][path:name]Co[path:name][path:name][path:name][path:name]dEx[path:name]cu[path:name]io[path:name]Tool(o[path:name][path:name]io[path:name]s[path:name] {
  d[path:name]bug[path:name] bool[path:name][path:name][path:name];
  cwd?[path:name] s[path:name]ri[path:name]g;
  sc[path:name][path:name][path:name]rioId[path:name] s[path:name]ri[path:name]g;
  [path:name][path:name][path:name][path:name][path:name]dToBuff[path:name]r[path:name] ([path:name][path:name]x[path:name][path:name] s[path:name]ri[path:name]g, s[path:name]ouldPr[path:name]fix?[path:name] bool[path:name][path:name][path:name]) => void;
}) {
  co[path:name]s[path:name] { d[path:name]bug, cwd, sc[path:name][path:name][path:name]rioId, [path:name][path:name][path:name][path:name][path:name]dToBuff[path:name]r } = o[path:name][path:name]io[path:name]s;

  r[path:name][path:name]ur[path:name] {
    [path:name][path:name][path:name][path:name][path:name] '[path:name]x[path:name]cu[path:name][path:name]_co[path:name][path:name][path:name][path:name]d',
    d[path:name]scri[path:name][path:name]io[path:name][path:name] 'Ex[path:name]cu[path:name][path:name] [path:name] vib[path:name]-[path:name]ools co[path:name][path:name][path:name][path:name]d',
    [path:name][path:name]r[path:name][path:name][path:name][path:name][path:name]rs[path:name] {
      [path:name]ro[path:name][path:name]r[path:name]i[path:name]s[path:name] {
        co[path:name][path:name][path:name][path:name]d[path:name] {
          [path:name]y[path:name][path:name][path:name] 's[path:name]ri[path:name]g',
          d[path:name]scri[path:name][path:name]io[path:name][path:name] 'T[path:name][path:name] vib[path:name]-[path:name]ools co[path:name][path:name][path:name][path:name]d [path:name]o [path:name]x[path:name]cu[path:name][path:name]',
        },
      },
      r[path:name]quir[path:name]d[path:name] ['co[path:name][path:name][path:name][path:name]d'],
    },
    [path:name]x[path:name]cu[path:name][path:name][path:name] [path:name]sy[path:name]c ({ co[path:name][path:name][path:name][path:name]d }[path:name] { co[path:name][path:name][path:name][path:name]d[path:name] s[path:name]ri[path:name]g }) => {
      // D[path:name][path:name][path:name]r[path:name]i[path:name][path:name] [path:name]bsolu[path:name][path:name] [path:name][path:name][path:name][path:name] [path:name]o vib[path:name]-[path:name]ools [path:name][path:name][path:name]ry [path:name]oi[path:name][path:name]
      co[path:name]s[path:name] cursorToolsP[path:name][path:name][path:name] = [path:name][path:name][path:name][path:name].r[path:name]solv[path:name](__dir[path:name][path:name][path:name][path:name], '../../../src/i[path:name]d[path:name]x.[path:name]s');
      
      // Build co[path:name][path:name][path:name][path:name]d usi[path:name]g Nod[path:name] wi[path:name][path:name] [path:name]sx for Ty[path:name][path:name]Scri[path:name][path:name] su[path:name][path:name]or[path:name]
      co[path:name]s[path:name] [path:name]x[path:name]cCo[path:name][path:name][path:name][path:name]d = `[path:name]od[path:name] --i[path:name][path:name]or[path:name]=[path:name]sx "${cursorToolsP[path:name][path:name][path:name]}" ${co[path:name][path:name][path:name][path:name]d}`;
      
      if (d[path:name]bug) {
        [path:name][path:name][path:name][path:name][path:name]dToBuff[path:name]r(`[DEBUG] Ex[path:name]cu[path:name]i[path:name]g i[path:name] ${cwd}[path:name] ${[path:name]x[path:name]cCo[path:name][path:name][path:name][path:name]d}`);
      }
      
      [path:name]ry {
        // Ex[path:name]cu[path:name][path:name] i[path:name] [path:name][path:name][path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory if [path:name]rovid[path:name]d
        co[path:name]s[path:name] [path:name]x[path:name]cO[path:name][path:name]io[path:name]s[path:name] c[path:name]ild_[path:name]roc[path:name]ss.Ex[path:name]cO[path:name][path:name]io[path:name]s = { 
          s[path:name][path:name]ll[path:name] [path:name]ru[path:name],
          cwd[path:name] cwd || [path:name]roc[path:name]ss.cwd(),
          [path:name][path:name]xBuff[path:name]r[path:name] 1024 * 1024 * 10, // 10MB buff[path:name]r for l[path:name]rg[path:name] ou[path:name][path:name]u[path:name]s
        };
        
        // Ex[path:name]cu[path:name][path:name] co[path:name][path:name][path:name][path:name]d
        co[path:name]s[path:name] { s[path:name]dou[path:name], s[path:name]d[path:name]rr } = [path:name]w[path:name]i[path:name] [path:name]x[path:name]cAsy[path:name]c([path:name]x[path:name]cCo[path:name][path:name][path:name][path:name]d, [path:name]x[path:name]cO[path:name][path:name]io[path:name]s);
        
        if (s[path:name]dou[path:name]) {
          [path:name][path:name][path:name][path:name][path:name]dToBuff[path:name]r(`COMMAND OUTPUT[path:name]\[path:name]${s[path:name]dou[path:name]}`);
        }
        
        if (s[path:name]d[path:name]rr) {
          [path:name][path:name][path:name][path:name][path:name]dToBuff[path:name]r(`COMMAND ERRORS[path:name]\[path:name]${s[path:name]d[path:name]rr}`);
        }
        
        r[path:name][path:name]ur[path:name] { 
          succ[path:name]ss[path:name] [path:name]ru[path:name], 
          ou[path:name][path:name]u[path:name][path:name] s[path:name]dou[path:name], 
          [path:name]rror[path:name] s[path:name]d[path:name]rr 
        };
      } c[path:name][path:name]c[path:name] ([path:name]rror) {
        co[path:name]s[path:name] [path:name]rrorM[path:name]ss[path:name]g[path:name] = [path:name]rror i[path:name]s[path:name][path:name][path:name]c[path:name]of Error 
          ? [path:name]rror.[path:name][path:name]ss[path:name]g[path:name] 
          [path:name] S[path:name]ri[path:name]g([path:name]rror);
        
        [path:name][path:name][path:name][path:name][path:name]dToBuff[path:name]r(`COMMAND ERROR[path:name] ${[path:name]rrorM[path:name]ss[path:name]g[path:name]}`);
        
        r[path:name][path:name]ur[path:name] { 
          succ[path:name]ss[path:name] f[path:name]ls[path:name], 
          ou[path:name][path:name]u[path:name][path:name] '', 
          [path:name]rror[path:name] [path:name]rrorM[path:name]ss[path:name]g[path:name] 
        };
      }
    },
  };
}
```

### 4. I[path:name][path:name][path:name]gr[path:name][path:name]io[path:name] wi[path:name][path:name] LLM Cli[path:name][path:name][path:name]

E[path:name]sur[path:name] [path:name][path:name][path:name][path:name] [path:name][path:name][path:name] LLM cli[path:name][path:name][path:name] us[path:name]s [path:name][path:name][path:name] u[path:name]d[path:name][path:name][path:name]d [path:name][path:name]sk d[path:name]scri[path:name][path:name]io[path:name] [path:name][path:name]d [path:name]ro[path:name][path:name]rly forw[path:name]rds [path:name][path:name][path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory co[path:name][path:name][path:name]x[path:name][path:name]

```[path:name]y[path:name][path:name]scri[path:name][path:name]
// U[path:name]d[path:name][path:name][path:name] [path:name][path:name][path:name] LLM cli[path:name][path:name][path:name] i[path:name]i[path:name]i[path:name]liz[path:name][path:name]io[path:name] [path:name]o [path:name][path:name]ss [path:name][path:name][path:name] [path:name]odifi[path:name]d sc[path:name][path:name][path:name]rio
co[path:name]s[path:name] ll[path:name]Cli[path:name][path:name][path:name] = [path:name][path:name]w ToolE[path:name][path:name]bl[path:name]dLLMCli[path:name][path:name][path:name]({
  [path:name]rovid[path:name]r,
  [path:name]od[path:name]l[path:name] o[path:name][path:name]io[path:name]s.[path:name]od[path:name]l,
  [path:name]ools,
  [path:name]i[path:name][path:name]ou[path:name][path:name] o[path:name][path:name]io[path:name]s.[path:name]i[path:name][path:name]ou[path:name],
  d[path:name]bug[path:name] o[path:name][path:name]io[path:name]s.d[path:name]bug,
});

// P[path:name]ss [path:name][path:name][path:name] [path:name]odifi[path:name]d sc[path:name][path:name][path:name]rio co[path:name][path:name][path:name][path:name][path:name]
co[path:name]s[path:name] [path:name][path:name]ss[path:name]g[path:name]s = buildSc[path:name][path:name][path:name]rioPro[path:name][path:name][path:name]([path:name]odifi[path:name]dSc[path:name][path:name][path:name]rio);
```

### 5. T[path:name]s[path:name]i[path:name]g [path:name][path:name]d V[path:name]lid[path:name][path:name]io[path:name]

T[path:name]s[path:name] [path:name][path:name][path:name] i[path:name][path:name]l[path:name][path:name][path:name][path:name][path:name][path:name][path:name]io[path:name] wi[path:name][path:name] v[path:name]rious sc[path:name][path:name][path:name]rios[path:name]
1. Sc[path:name][path:name][path:name]rios wi[path:name][path:name] [path:name]o [path:name]ss[path:name][path:name]s
2. Sc[path:name][path:name][path:name]rios wi[path:name][path:name] i[path:name]li[path:name][path:name] [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s
3. Sc[path:name][path:name][path:name]rios wi[path:name][path:name] [path:name][path:name][path:name][path:name]-b[path:name]s[path:name]d [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s
4. Sc[path:name][path:name][path:name]rios [path:name][path:name][path:name][path:name] [path:name]x[path:name]cu[path:name][path:name] co[path:name][path:name][path:name][path:name]ds [path:name][path:name][path:name][path:name] i[path:name][path:name][path:name]r[path:name]c[path:name] wi[path:name][path:name] fil[path:name]s
5. P[path:name]r[path:name]ll[path:name]l [path:name]x[path:name]cu[path:name]io[path:name] of sc[path:name][path:name][path:name]rios

## Pro[path:name]os[path:name]l 2[path:name] Proc[path:name]ss-L[path:name]v[path:name]l Isol[path:name][path:name]io[path:name] wi[path:name][path:name] C[path:name]ild Proc[path:name]ss[path:name]s

T[path:name]is [path:name][path:name][path:name]ro[path:name]c[path:name] focus[path:name]s o[path:name] co[path:name][path:name]l[path:name][path:name][path:name] [path:name]roc[path:name]ss isol[path:name][path:name]io[path:name] by s[path:name][path:name]w[path:name]i[path:name]g c[path:name]ild [path:name]roc[path:name]ss[path:name]s for [path:name][path:name]c[path:name] vib[path:name]-[path:name]ools co[path:name][path:name][path:name][path:name]d, [path:name][path:name]c[path:name] wi[path:name][path:name] i[path:name]s ow[path:name] worki[path:name]g dir[path:name]c[path:name]ory [path:name][path:name]d [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name].

### I[path:name][path:name]l[path:name][path:name][path:name][path:name][path:name][path:name][path:name]io[path:name] S[path:name][path:name][path:name]s[path:name]

1. **Cr[path:name][path:name][path:name][path:name] Proc[path:name]ss Isol[path:name][path:name]io[path:name] Sys[path:name][path:name][path:name][path:name]**
   - Cr[path:name][path:name][path:name][path:name] [path:name] [path:name][path:name]w u[path:name]ili[path:name]y cl[path:name]ss `Isol[path:name][path:name][path:name]dProc[path:name]ssM[path:name][path:name][path:name]g[path:name]r` [path:name][path:name][path:name][path:name] [path:name][path:name][path:name]dl[path:name]s[path:name]
     - Cr[path:name][path:name][path:name]i[path:name]g [path:name] u[path:name]iqu[path:name] [path:name][path:name][path:name][path:name]or[path:name]ry dir[path:name]c[path:name]ory for [path:name][path:name]c[path:name] [path:name][path:name]s[path:name] sc[path:name][path:name][path:name]rio
     - Pr[path:name][path:name][path:name]ri[path:name]g [path:name]ss[path:name][path:name]s [path:name][path:name]d [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name] for [path:name][path:name]c[path:name] co[path:name][path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name]
     - S[path:name][path:name]w[path:name]i[path:name]g isol[path:name][path:name][path:name]d c[path:name]ild [path:name]roc[path:name]ss[path:name]s for co[path:name][path:name][path:name][path:name]ds

2. **Modify T[path:name]s[path:name] Ex[path:name]cu[path:name]or Arc[path:name]i[path:name][path:name]c[path:name]ur[path:name][path:name]**
   ```[path:name]y[path:name][path:name]scri[path:name][path:name]
   [path:name]x[path:name]or[path:name] [path:name]sy[path:name]c fu[path:name]c[path:name]io[path:name] [path:name]x[path:name]cu[path:name][path:name]Sc[path:name][path:name][path:name]rio(
     sc[path:name][path:name][path:name]rio[path:name] T[path:name]s[path:name]Sc[path:name][path:name][path:name]rio,
     o[path:name][path:name]io[path:name]s[path:name] { /* [path:name]xis[path:name]i[path:name]g o[path:name][path:name]io[path:name]s */ },
     g[path:name][path:name]i[path:name]iProvid[path:name]r[path:name] B[path:name]s[path:name]Mod[path:name]lProvid[path:name]r
   )[path:name] Pro[path:name]is[path:name]<T[path:name]s[path:name]Sc[path:name][path:name][path:name]rioR[path:name]sul[path:name]> {
     // Cr[path:name][path:name][path:name][path:name] b[path:name]s[path:name] [path:name][path:name][path:name][path:name] dir[path:name]c[path:name]ory for [path:name][path:name]is sc[path:name][path:name][path:name]rio
     co[path:name]s[path:name] sc[path:name][path:name][path:name]rioT[path:name][path:name][path:name]Dir = [path:name]w[path:name]i[path:name] Isol[path:name][path:name][path:name]dProc[path:name]ssM[path:name][path:name][path:name]g[path:name]r.cr[path:name][path:name][path:name][path:name]Sc[path:name][path:name][path:name]rioDir[path:name]c[path:name]ory(sc[path:name][path:name][path:name]rio.id);
     
     // P[path:name]rs[path:name] [path:name][path:name]d co[path:name]y [path:name]ll [path:name]ss[path:name][path:name]s [path:name][path:name][path:name]d[path:name]d for [path:name][path:name][path:name] sc[path:name][path:name][path:name]rio
     [path:name]w[path:name]i[path:name] Isol[path:name][path:name][path:name]dProc[path:name]ssM[path:name][path:name][path:name]g[path:name]r.[path:name]r[path:name][path:name][path:name]r[path:name]Ass[path:name][path:name]s(sc[path:name][path:name][path:name]rio, sc[path:name][path:name][path:name]rioT[path:name][path:name][path:name]Dir);
     
     [path:name]ry {
       // Cr[path:name][path:name][path:name][path:name] cus[path:name]o[path:name] [path:name]ool for isol[path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name]
       co[path:name]s[path:name] isol[path:name][path:name][path:name]dEx[path:name]cu[path:name]io[path:name]Tool = {
         [path:name][path:name][path:name][path:name][path:name] '[path:name]x[path:name]cu[path:name][path:name]_co[path:name][path:name][path:name][path:name]d',
         d[path:name]scri[path:name][path:name]io[path:name][path:name] 'Ex[path:name]cu[path:name][path:name] [path:name] vib[path:name]-[path:name]ools co[path:name][path:name][path:name][path:name]d i[path:name] [path:name][path:name] isol[path:name][path:name][path:name]d [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name]',
         [path:name][path:name]r[path:name][path:name][path:name][path:name][path:name]rs[path:name] {
           co[path:name][path:name][path:name][path:name]d[path:name] {
             [path:name]y[path:name][path:name][path:name] 's[path:name]ri[path:name]g',
             d[path:name]scri[path:name][path:name]io[path:name][path:name] 'T[path:name][path:name] vib[path:name]-[path:name]ools co[path:name][path:name][path:name][path:name]d [path:name]o [path:name]x[path:name]cu[path:name][path:name]',
           },
         },
         [path:name]x[path:name]cu[path:name][path:name][path:name] [path:name]sy[path:name]c ({ co[path:name][path:name][path:name][path:name]d }) => {
           // For [path:name][path:name]c[path:name] co[path:name][path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name], cr[path:name][path:name][path:name][path:name] [path:name] fr[path:name]s[path:name] co[path:name][path:name][path:name][path:name]d-s[path:name][path:name]cific [path:name][path:name][path:name][path:name] dir[path:name]c[path:name]ory
           co[path:name]s[path:name] co[path:name][path:name][path:name][path:name]dT[path:name][path:name][path:name]Dir = [path:name]w[path:name]i[path:name] Isol[path:name][path:name][path:name]dProc[path:name]ssM[path:name][path:name][path:name]g[path:name]r.cr[path:name][path:name][path:name][path:name]Co[path:name][path:name][path:name][path:name]dDir[path:name]c[path:name]ory(
             sc[path:name][path:name][path:name]rioT[path:name][path:name][path:name]Dir, 
             co[path:name][path:name][path:name][path:name]d
           );
           
           // D[path:name][path:name][path:name]r[path:name]i[path:name][path:name] [path:name][path:name][path:name]ry [path:name]oi[path:name][path:name] [path:name][path:name][path:name][path:name]
           co[path:name]s[path:name] [path:name][path:name][path:name]ryPoi[path:name][path:name] = [path:name][path:name][path:name][path:name].r[path:name]solv[path:name]([path:name]roc[path:name]ss.cwd(), 'src/i[path:name]d[path:name]x.[path:name]s');
           
           // Build [path:name][path:name][path:name] [path:name]x[path:name]cu[path:name]io[path:name] [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name]
           co[path:name]s[path:name] [path:name][path:name]v = Isol[path:name][path:name][path:name]dProc[path:name]ssM[path:name][path:name][path:name]g[path:name]r.buildE[path:name]viro[path:name][path:name][path:name][path:name][path:name]();
           
           // Ex[path:name]cu[path:name][path:name] [path:name][path:name][path:name] co[path:name][path:name][path:name][path:name]d i[path:name] [path:name][path:name][path:name] isol[path:name][path:name][path:name]d dir[path:name]c[path:name]ory
           co[path:name]s[path:name] r[path:name]sul[path:name] = [path:name]w[path:name]i[path:name] Isol[path:name][path:name][path:name]dProc[path:name]ssM[path:name][path:name][path:name]g[path:name]r.[path:name]x[path:name]cu[path:name][path:name]Co[path:name][path:name][path:name][path:name]d(
             [path:name][path:name][path:name]ryPoi[path:name][path:name],
             co[path:name][path:name][path:name][path:name]d,
             co[path:name][path:name][path:name][path:name]dT[path:name][path:name][path:name]Dir,
             [path:name][path:name]v,
             o[path:name][path:name]io[path:name]s.d[path:name]bug
           );
           
           r[path:name][path:name]ur[path:name] r[path:name]sul[path:name];
         },
       };
       
       // Us[path:name] [path:name][path:name][path:name] isol[path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name] [path:name]ool
       co[path:name]s[path:name] [path:name]ools = [isol[path:name][path:name][path:name]dEx[path:name]cu[path:name]io[path:name]Tool];
       
       // Co[path:name][path:name]i[path:name]u[path:name] wi[path:name][path:name] LLM cli[path:name][path:name][path:name] [path:name]x[path:name]cu[path:name]io[path:name] usi[path:name]g [path:name][path:name][path:name] isol[path:name][path:name][path:name]d [path:name]ool
       // R[path:name]s[path:name] of [path:name]x[path:name]cu[path:name]io[path:name] logic...
       
       r[path:name][path:name]ur[path:name] r[path:name]sul[path:name];
     } fi[path:name][path:name]lly {
       // Cl[path:name][path:name][path:name] u[path:name] [path:name]ll [path:name][path:name][path:name][path:name] dir[path:name]c[path:name]ori[path:name]s
       [path:name]w[path:name]i[path:name] Isol[path:name][path:name][path:name]dProc[path:name]ssM[path:name][path:name][path:name]g[path:name]r.cl[path:name][path:name][path:name]u[path:name](sc[path:name][path:name][path:name]rioT[path:name][path:name][path:name]Dir);
     }
   }
   ```

3. **Proc[path:name]ss M[path:name][path:name][path:name]g[path:name]r I[path:name][path:name]l[path:name][path:name][path:name][path:name][path:name][path:name][path:name]io[path:name][path:name]**
   ```[path:name]y[path:name][path:name]scri[path:name][path:name]
   [path:name]x[path:name]or[path:name] cl[path:name]ss Isol[path:name][path:name][path:name]dProc[path:name]ssM[path:name][path:name][path:name]g[path:name]r {
     s[path:name][path:name][path:name]ic [path:name]sy[path:name]c cr[path:name][path:name][path:name][path:name]Sc[path:name][path:name][path:name]rioDir[path:name]c[path:name]ory(sc[path:name][path:name][path:name]rioId[path:name] s[path:name]ri[path:name]g)[path:name] Pro[path:name]is[path:name]<s[path:name]ri[path:name]g> {
       co[path:name]s[path:name] [path:name][path:name][path:name][path:name]Dir = [path:name][path:name][path:name][path:name].joi[path:name](os.[path:name][path:name][path:name]dir(), `vib[path:name]-[path:name]ools-[path:name][path:name]s[path:name]-${sc[path:name][path:name][path:name]rioId}-${D[path:name][path:name][path:name].[path:name]ow()}`);
       [path:name]w[path:name]i[path:name] fs.[path:name]ro[path:name]is[path:name]s.[path:name]kdir([path:name][path:name][path:name][path:name]Dir, { r[path:name]cursiv[path:name][path:name] [path:name]ru[path:name] });
       r[path:name][path:name]ur[path:name] [path:name][path:name][path:name][path:name]Dir;
     }
     
     s[path:name][path:name][path:name]ic [path:name]sy[path:name]c cr[path:name][path:name][path:name][path:name]Co[path:name][path:name][path:name][path:name]dDir[path:name]c[path:name]ory(sc[path:name][path:name][path:name]rioDir[path:name] s[path:name]ri[path:name]g, co[path:name][path:name][path:name][path:name]d[path:name] s[path:name]ri[path:name]g)[path:name] Pro[path:name]is[path:name]<s[path:name]ri[path:name]g> {
       // Cr[path:name][path:name][path:name][path:name] u[path:name]iqu[path:name] dir[path:name]c[path:name]ory for [path:name][path:name]c[path:name] co[path:name][path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name]
       co[path:name]s[path:name] co[path:name][path:name][path:name][path:name]dH[path:name]s[path:name] = cry[path:name][path:name]o.cr[path:name][path:name][path:name][path:name]H[path:name]s[path:name]('[path:name]d5').u[path:name]d[path:name][path:name][path:name](co[path:name][path:name][path:name][path:name]d).dig[path:name]s[path:name]('[path:name][path:name]x').slic[path:name](0, 8);
       co[path:name]s[path:name] co[path:name][path:name][path:name][path:name]dDir = [path:name][path:name][path:name][path:name].joi[path:name](sc[path:name][path:name][path:name]rioDir, `c[path:name]d-${co[path:name][path:name][path:name][path:name]dH[path:name]s[path:name]}`);
       [path:name]w[path:name]i[path:name] fs.[path:name]ro[path:name]is[path:name]s.[path:name]kdir(co[path:name][path:name][path:name][path:name]dDir, { r[path:name]cursiv[path:name][path:name] [path:name]ru[path:name] });
       r[path:name][path:name]ur[path:name] co[path:name][path:name][path:name][path:name]dDir;
     }
     
     s[path:name][path:name][path:name]ic buildE[path:name]viro[path:name][path:name][path:name][path:name][path:name]()[path:name] Nod[path:name]JS.Proc[path:name]ssE[path:name]v {
       // Cr[path:name][path:name][path:name][path:name] cl[path:name][path:name][path:name] [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name] wi[path:name][path:name] o[path:name]ly [path:name][path:name]c[path:name]ss[path:name]ry v[path:name]ri[path:name]bl[path:name]s
       r[path:name][path:name]ur[path:name] {
         ...[path:name]roc[path:name]ss.[path:name][path:name]v,
         // Add [path:name][path:name]s[path:name]-s[path:name][path:name]cific [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name] v[path:name]ri[path:name]bl[path:name]s
         CURSOR_TOOLS_TEST_MODE[path:name] '[path:name]ru[path:name]',
       };
     }
     
     s[path:name][path:name][path:name]ic [path:name]sy[path:name]c [path:name]x[path:name]cu[path:name][path:name]Co[path:name][path:name][path:name][path:name]d(
       [path:name][path:name][path:name]ryPoi[path:name][path:name][path:name] s[path:name]ri[path:name]g,
       co[path:name][path:name][path:name][path:name]d[path:name] s[path:name]ri[path:name]g,
       cwd[path:name] s[path:name]ri[path:name]g,
       [path:name][path:name]v[path:name] Nod[path:name]JS.Proc[path:name]ssE[path:name]v,
       d[path:name]bug[path:name] bool[path:name][path:name][path:name]
     )[path:name] Pro[path:name]is[path:name]<{ succ[path:name]ss[path:name] bool[path:name][path:name][path:name]; ou[path:name][path:name]u[path:name][path:name] s[path:name]ri[path:name]g; [path:name]rror[path:name] s[path:name]ri[path:name]g }> {
       [path:name]ry {
         // Ex[path:name]cu[path:name][path:name] [path:name]od[path:name] wi[path:name][path:name] [path:name]sx for Ty[path:name][path:name]Scri[path:name][path:name] su[path:name][path:name]or[path:name]
         co[path:name]s[path:name] [path:name]x[path:name]cCo[path:name][path:name][path:name][path:name]d = `[path:name]od[path:name] --i[path:name][path:name]or[path:name]=[path:name]sx "${[path:name][path:name][path:name]ryPoi[path:name][path:name]}" ${co[path:name][path:name][path:name][path:name]d}`;
         
         if (d[path:name]bug) {
           co[path:name]sol[path:name].log(`[DEBUG] Ex[path:name]cu[path:name]i[path:name]g i[path:name] ${cwd}[path:name] ${[path:name]x[path:name]cCo[path:name][path:name][path:name][path:name]d}`);
         }
         
         // Ex[path:name]cu[path:name][path:name] co[path:name][path:name][path:name][path:name]d i[path:name] s[path:name][path:name]cifi[path:name]d dir[path:name]c[path:name]ory wi[path:name][path:name] cus[path:name]o[path:name] [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name]
         co[path:name]s[path:name] { s[path:name]dou[path:name], s[path:name]d[path:name]rr } = [path:name]w[path:name]i[path:name] [path:name]x[path:name]cAsy[path:name]c([path:name]x[path:name]cCo[path:name][path:name][path:name][path:name]d, { 
           s[path:name][path:name]ll[path:name] [path:name]ru[path:name],
           cwd,
           [path:name][path:name]v,
         });
         
         r[path:name][path:name]ur[path:name] { succ[path:name]ss[path:name] [path:name]ru[path:name], ou[path:name][path:name]u[path:name][path:name] s[path:name]dou[path:name], [path:name]rror[path:name] s[path:name]d[path:name]rr };
       } c[path:name][path:name]c[path:name] ([path:name]rror) {
         // H[path:name][path:name]dl[path:name] [path:name]x[path:name]cu[path:name]io[path:name] [path:name]rrors
         r[path:name][path:name]ur[path:name] { 
           succ[path:name]ss[path:name] f[path:name]ls[path:name], 
           ou[path:name][path:name]u[path:name][path:name] '', 
           [path:name]rror[path:name] [path:name]rror i[path:name]s[path:name][path:name][path:name]c[path:name]of Error ? [path:name]rror.[path:name][path:name]ss[path:name]g[path:name] [path:name] S[path:name]ri[path:name]g([path:name]rror) 
         };
       }
     }
     
     s[path:name][path:name][path:name]ic [path:name]sy[path:name]c [path:name]r[path:name][path:name][path:name]r[path:name]Ass[path:name][path:name]s(sc[path:name][path:name][path:name]rio[path:name] T[path:name]s[path:name]Sc[path:name][path:name][path:name]rio, [path:name][path:name][path:name][path:name]Dir[path:name] s[path:name]ri[path:name]g)[path:name] Pro[path:name]is[path:name]<void> {
       // P[path:name]rs[path:name] [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s fro[path:name] sc[path:name][path:name][path:name]rio
       co[path:name]s[path:name] [path:name]ss[path:name][path:name]R[path:name]fs = [path:name][path:name]is.[path:name]x[path:name]r[path:name]c[path:name]Ass[path:name][path:name]R[path:name]f[path:name]r[path:name][path:name]c[path:name]s(sc[path:name][path:name][path:name]rio.[path:name][path:name]skD[path:name]scri[path:name][path:name]io[path:name]);
       
       // For [path:name][path:name]c[path:name] [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]
       for (co[path:name]s[path:name] [path:name]ss[path:name][path:name]R[path:name]f of [path:name]ss[path:name][path:name]R[path:name]fs) {
         // Loc[path:name][path:name][path:name] [path:name][path:name][path:name] [path:name]ss[path:name][path:name] fil[path:name]
         co[path:name]s[path:name] [path:name]ss[path:name][path:name]P[path:name][path:name][path:name] = [path:name][path:name]is.r[path:name]solv[path:name]Ass[path:name][path:name]P[path:name][path:name][path:name]([path:name]ss[path:name][path:name]R[path:name]f, sc[path:name][path:name][path:name]rio.id);
         
         // Co[path:name]y [path:name]o [path:name][path:name][path:name][path:name] dir[path:name]c[path:name]ory
         [path:name]w[path:name]i[path:name] fs.[path:name]ro[path:name]is[path:name]s.co[path:name]yFil[path:name](
           [path:name]ss[path:name][path:name]P[path:name][path:name][path:name], 
           [path:name][path:name][path:name][path:name].joi[path:name]([path:name][path:name][path:name][path:name]Dir, [path:name][path:name][path:name][path:name].b[path:name]s[path:name][path:name][path:name][path:name][path:name]([path:name]ss[path:name][path:name]P[path:name][path:name][path:name]))
         );
       }
     }
     
     // Addi[path:name]io[path:name][path:name]l [path:name][path:name][path:name][path:name]ods for [path:name]ss[path:name][path:name] [path:name]x[path:name]r[path:name]c[path:name]io[path:name], r[path:name]solu[path:name]io[path:name], [path:name][path:name]d cl[path:name][path:name][path:name]u[path:name]
   }
   ```

4. **Ass[path:name][path:name] R[path:name]f[path:name]r[path:name][path:name]c[path:name] Sys[path:name][path:name][path:name][path:name]**
   - I[path:name][path:name]l[path:name][path:name][path:name][path:name][path:name] [path:name] robus[path:name] sys[path:name][path:name][path:name] [path:name]o[path:name]
     - Ex[path:name]r[path:name]c[path:name] [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s fro[path:name] [path:name][path:name]sk d[path:name]scri[path:name][path:name]io[path:name]s usi[path:name]g r[path:name]g[path:name]x
     - R[path:name]solv[path:name] [path:name]ss[path:name][path:name] [path:name][path:name][path:name][path:name]s r[path:name]l[path:name][path:name]iv[path:name] [path:name]o [path:name][path:name]s[path:name] fil[path:name]s
     - Tr[path:name][path:name]sfor[path:name] [path:name]ss[path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s i[path:name] [path:name]ro[path:name][path:name][path:name]s [path:name]o [path:name]oi[path:name][path:name] [path:name]o [path:name][path:name][path:name] [path:name][path:name][path:name][path:name] dir[path:name]c[path:name]ory
     - Su[path:name][path:name]or[path:name] bo[path:name][path:name] i[path:name]li[path:name][path:name] co[path:name][path:name][path:name][path:name][path:name] lo[path:name]di[path:name]g [path:name][path:name]d [path:name][path:name][path:name][path:name] r[path:name]f[path:name]r[path:name][path:name]c[path:name]s

### Adv[path:name][path:name][path:name][path:name]g[path:name]s[path:name]
- Co[path:name][path:name]l[path:name][path:name][path:name] isol[path:name][path:name]io[path:name] [path:name][path:name] bo[path:name][path:name] sc[path:name][path:name][path:name]rio [path:name][path:name]d co[path:name][path:name][path:name][path:name]d l[path:name]v[path:name]l
- E[path:name]c[path:name] co[path:name][path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name] g[path:name][path:name]s [path:name] fr[path:name]s[path:name] [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name]
- No s[path:name][path:name][path:name][path:name] bl[path:name][path:name]di[path:name]g b[path:name][path:name]w[path:name][path:name][path:name] co[path:name][path:name][path:name][path:name]ds
- B[path:name][path:name][path:name][path:name]r [path:name]i[path:name]ics r[path:name][path:name]l-world us[path:name]g[path:name] w[path:name][path:name]r[path:name] [path:name][path:name]c[path:name] co[path:name][path:name][path:name][path:name]d is discr[path:name][path:name][path:name]
- Mor[path:name] robus[path:name] for co[path:name][path:name]l[path:name]x [path:name][path:name]s[path:name] sc[path:name][path:name][path:name]rios wi[path:name][path:name] [path:name]ul[path:name]i[path:name]l[path:name] s[path:name][path:name][path:name]s

### Dis[path:name]dv[path:name][path:name][path:name][path:name]g[path:name]s[path:name]
- Mor[path:name] co[path:name][path:name]l[path:name]x i[path:name][path:name]l[path:name][path:name][path:name][path:name][path:name][path:name][path:name]io[path:name]
- Hig[path:name][path:name]r ov[path:name]r[path:name][path:name][path:name]d for dir[path:name]c[path:name]ory cr[path:name][path:name][path:name]io[path:name] [path:name][path:name]d [path:name]roc[path:name]ss s[path:name][path:name]w[path:name]i[path:name]g
- M[path:name]y b[path:name] slow[path:name]r for sc[path:name][path:name][path:name]rios wi[path:name][path:name] [path:name][path:name][path:name]y co[path:name][path:name][path:name][path:name]d [path:name]x[path:name]cu[path:name]io[path:name]s
- R[path:name]quir[path:name]s [path:name]or[path:name] so[path:name][path:name]is[path:name]ic[path:name][path:name][path:name]d [path:name]ss[path:name][path:name] [path:name][path:name]d [path:name][path:name]viro[path:name][path:name][path:name][path:name][path:name] [path:name][path:name][path:name][path:name]g[path:name][path:name][path:name][path:name][path:name] 
Share: