|
684 | 684 | </li> |
685 | 685 |
|
686 | 686 | <li class="md-nav__item"> |
687 | | - <a href="#project" class="md-nav__link"> |
| 687 | + <a href="#source-artifact" class="md-nav__link"> |
688 | 688 | <span class="md-ellipsis"> |
689 | 689 |
|
690 | | - Project |
| 690 | + Source Artifact |
691 | 691 |
|
692 | 692 | </span> |
693 | 693 | </a> |
|
1117 | 1117 |
|
1118 | 1118 |
|
1119 | 1119 |
|
| 1120 | + |
| 1121 | + |
| 1122 | + |
| 1123 | + |
| 1124 | + |
| 1125 | + |
| 1126 | + <li class="md-nav__item"> |
| 1127 | + <a href="../glossary/" class="md-nav__link"> |
| 1128 | + |
| 1129 | + |
| 1130 | + |
| 1131 | + <span class="md-ellipsis"> |
| 1132 | + |
| 1133 | + |
| 1134 | + Glossary |
| 1135 | + |
| 1136 | + |
| 1137 | + |
| 1138 | + </span> |
| 1139 | + |
| 1140 | + |
| 1141 | + |
| 1142 | + </a> |
| 1143 | + </li> |
| 1144 | + |
| 1145 | + |
| 1146 | + |
| 1147 | + |
1120 | 1148 | </ul> |
1121 | 1149 | </nav> |
1122 | 1150 |
|
|
1391 | 1419 | </li> |
1392 | 1420 |
|
1393 | 1421 | <li class="md-nav__item"> |
1394 | | - <a href="#project" class="md-nav__link"> |
| 1422 | + <a href="#source-artifact" class="md-nav__link"> |
1395 | 1423 | <span class="md-ellipsis"> |
1396 | 1424 |
|
1397 | | - Project |
| 1425 | + Source Artifact |
1398 | 1426 |
|
1399 | 1427 | </span> |
1400 | 1428 | </a> |
@@ -1525,9 +1553,10 @@ <h3 id="handler-modes">Handler modes<a class="headerlink" href="#handler-modes" |
1525 | 1553 | <li><strong><code>handlers_mode = "replace"</code>:</strong> your handler list completely replaces the preset's handlers for that action.</li> |
1526 | 1554 | <li><strong><code>enabled = false</code> on a handler entry:</strong> disables that specific inherited handler.</li> |
1527 | 1555 | </ul> |
1528 | | -<h2 id="project">Project<a class="headerlink" href="#project" title="Permanent link">¶</a></h2> |
1529 | | -<p>A <strong>Project</strong> is any directory containing a <code>pyproject.toml</code> with a <code>[tool.finecode]</code> section. FineCode discovers all projects under the workspace root automatically.</p> |
1530 | | -<p>A project may belong to a <strong>workspace</strong> — a directory containing multiple projects. FineCode handles multi-project workspaces transparently: running <code>python -m finecode run lint</code> from the workspace root runs lint in all projects that define it.</p> |
| 1556 | +<h2 id="source-artifact">Source Artifact<a class="headerlink" href="#source-artifact" title="Permanent link">¶</a></h2> |
| 1557 | +<p>A <strong>Source Artifact</strong> is a unit of source code that build/publish-style actions operate on. It is identified by a <strong>source artifact definition file</strong> (for example <code>pyproject.toml</code> or <code>package.json</code>). This is what many tools call a “project”, but FineCode uses <strong>source artifact</strong> to be more concrete.</p> |
| 1558 | +<p>When a source artifact includes FineCode configuration — a <code>pyproject.toml</code> with a <code>[tool.finecode]</code> section — the Workspace Manager discovers it automatically under the workspace roots provided by the client. Some CLI flags and protocol fields still use the word “project” for compatibility.</p> |
| 1559 | +<p>A source artifact may belong to a <strong>workspace</strong> — a set of related source artifacts, often a single directory root but sometimes multiple directories. FineCode handles multi-artifact workspaces transparently: running <code>python -m finecode run lint</code> from the workspace root runs lint in all source artifacts that define it.</p> |
1531 | 1560 | <h2 id="workspace-manager-and-extension-runner">Workspace Manager and Extension Runner<a class="headerlink" href="#workspace-manager-and-extension-runner" title="Permanent link">¶</a></h2> |
1532 | 1561 | <p>FineCode has two runtime components:</p> |
1533 | 1562 | <h3 id="workspace-manager-wm">Workspace Manager (WM)<a class="headerlink" href="#workspace-manager-wm" title="Permanent link">¶</a></h3> |
|
0 commit comments