@@ -1664,18 +1664,21 @@ <h2 id="1-add-finecode-to-your-project">1. Add FineCode to your project<a class=
16641664</ code > </ pre > </ div >
16651665< p > This creates < code > .venvs/dev_workspace/</ code > with FineCode installed, using the exact
16661666versions specified in your < code > pyproject.toml</ code > .</ p >
1667+ < p > Activate it before running subsequent < code > python -m finecode</ code > or < code > python -m pip</ code > commands:</ p >
1668+ < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-3-1 " name ="__codelineno-3-1 " href ="#__codelineno-3-1 "> </ a > < span class ="nb "> source</ span > < span class ="w "> </ span > .venvs/dev_workspace/bin/activate< span class ="w "> </ span > < span class ="c1 "> # Windows: .venvs\dev_workspace\Scripts\activate</ span >
1669+ </ code > </ pre > </ div >
16671670< p > < strong > Manual alternative</ strong > (if you prefer not to use pipx/uvx — requires pip 25.1+):</ p >
1668- < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-3 -1 " name ="__codelineno-3 -1 " href ="#__codelineno-3 -1 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > venv< span class ="w "> </ span > .venvs/dev_workspace
1669- < a id ="__codelineno-3 -2 " name ="__codelineno-3 -2 " href ="#__codelineno-3 -2 "> </ a > < span class ="nb "> source</ span > < span class ="w "> </ span > .venvs/dev_workspace/bin/activate< span class ="w "> </ span > < span class ="c1 "> # Windows: .venvs\dev_workspace\Scripts\activate</ span >
1670- < a id ="__codelineno-3 -3 " name ="__codelineno-3 -3 " href ="#__codelineno-3 -3 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > pip< span class ="w "> </ span > install< span class ="w "> </ span > --group< span class ="o "> =</ span > < span class ="s2 "> "dev_workspace"</ span >
1671+ < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-4 -1 " name ="__codelineno-4 -1 " href ="#__codelineno-4 -1 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > venv< span class ="w "> </ span > .venvs/dev_workspace
1672+ < a id ="__codelineno-4 -2 " name ="__codelineno-4 -2 " href ="#__codelineno-4 -2 "> </ a > < span class ="nb "> source</ span > < span class ="w "> </ span > .venvs/dev_workspace/bin/activate< span class ="w "> </ span > < span class ="c1 "> # Windows: .venvs\dev_workspace\Scripts\activate</ span >
1673+ < a id ="__codelineno-4 -3 " name ="__codelineno-4 -3 " href ="#__codelineno-4 -3 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > pip< span class ="w "> </ span > install< span class ="w "> </ span > --group< span class ="o "> =</ span > < span class ="s2 "> "dev_workspace"</ span >
16711674</ code > </ pre > </ div >
16721675< h2 id ="2-add-a-preset "> 2. Add a preset< a class ="headerlink " href ="#2-add-a-preset " title ="Permanent link "> ¶</ a > </ h2 >
16731676< p > Presets bundle ready-made tool configurations. Add < code > fine_python_recommended</ code > to get linting and formatting for Python:</ p >
1674- < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-4 -1 " name ="__codelineno-4 -1 " href ="#__codelineno-4 -1 "> </ a > < span class ="k "> [dependency-groups]</ span >
1675- < a id ="__codelineno-4 -2 " name ="__codelineno-4 -2 " href ="#__codelineno-4 -2 "> </ a > < span class ="n "> dev_workspace</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="p "> [</ span > < span class ="s2 "> "finecode==0.3.*"</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="s2 "> "fine_python_recommended==0.3.*"</ span > < span class ="p "> ]</ span >
1677+ < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-5 -1 " name ="__codelineno-5 -1 " href ="#__codelineno-5 -1 "> </ a > < span class ="k "> [dependency-groups]</ span >
1678+ < a id ="__codelineno-5 -2 " name ="__codelineno-5 -2 " href ="#__codelineno-5 -2 "> </ a > < span class ="n "> dev_workspace</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="p "> [</ span > < span class ="s2 "> "finecode==0.3.*"</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="s2 "> "fine_python_recommended==0.3.*"</ span > < span class ="p "> ]</ span >
16761679</ code > </ pre > </ div >
16771680< p > Reinstall after updating the dependency group:</ p >
1678- < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-5 -1 " name ="__codelineno-5 -1 " href ="#__codelineno-5 -1 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > pip< span class ="w "> </ span > install< span class ="w "> </ span > --group< span class ="o "> =</ span > < span class ="s2 "> "dev_workspace"</ span >
1681+ < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-6 -1 " name ="__codelineno-6 -1 " href ="#__codelineno-6 -1 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > pip< span class ="w "> </ span > install< span class ="w "> </ span > --group< span class ="o "> =</ span > < span class ="s2 "> "dev_workspace"</ span >
16791682</ code > </ pre > </ div >
16801683< h3 id ="available-presets "> Available presets< a class ="headerlink " href ="#available-presets " title ="Permanent link "> ¶</ a > </ h3 >
16811684< table >
@@ -1702,26 +1705,26 @@ <h3 id="available-presets">Available presets<a class="headerlink" href="#availab
17021705</ table >
17031706< h2 id ="3-enable-the-preset-in-config "> 3. Enable the preset in config< a class ="headerlink " href ="#3-enable-the-preset-in-config " title ="Permanent link "> ¶</ a > </ h2 >
17041707< p > Tell FineCode which preset to use:</ p >
1705- < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-6 -1 " name ="__codelineno-6 -1 " href ="#__codelineno-6 -1 "> </ a > < span class ="k "> [tool.finecode]</ span >
1706- < a id ="__codelineno-6 -2 " name ="__codelineno-6 -2 " href ="#__codelineno-6 -2 "> </ a > < span class ="n "> presets</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="p "> [{</ span > < span class ="w "> </ span > < span class ="n "> source</ span > < span class ="w "> </ span > < span class ="p "> =</ span > < span class ="w "> </ span > < span class ="s2 "> "fine_python_recommended"</ span > < span class ="w "> </ span > < span class ="p "> }]</ span >
1708+ < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-7 -1 " name ="__codelineno-7 -1 " href ="#__codelineno-7 -1 "> </ a > < span class ="k "> [tool.finecode]</ span >
1709+ < a id ="__codelineno-7 -2 " name ="__codelineno-7 -2 " href ="#__codelineno-7 -2 "> </ a > < span class ="n "> presets</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="p "> [{</ span > < span class ="w "> </ span > < span class ="n "> source</ span > < span class ="w "> </ span > < span class ="p "> =</ span > < span class ="w "> </ span > < span class ="s2 "> "fine_python_recommended"</ span > < span class ="w "> </ span > < span class ="p "> }]</ span >
17071710</ code > </ pre > </ div >
17081711< h2 id ="4-prepare-environments "> 4. Prepare environments< a class ="headerlink " href ="#4-prepare-environments " title ="Permanent link "> ¶</ a > </ h2 >
17091712< p > FineCode runs each tool handler in its own virtual environment. Set them up with:</ p >
1710- < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-7 -1 " name ="__codelineno-7 -1 " href ="#__codelineno-7 -1 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > finecode< span class ="w "> </ span > prepare-envs
1713+ < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-8 -1 " name ="__codelineno-8 -1 " href ="#__codelineno-8 -1 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > finecode< span class ="w "> </ span > prepare-envs
17111714</ code > </ pre > </ div >
17121715< p > This creates purpose-specific venvs under < code > .venvs/</ code > and installs handler dependencies (e.g. ruff, flake8, etc.) into them.</ p >
17131716< h2 id ="5-run-actions "> 5. Run actions< a class ="headerlink " href ="#5-run-actions " title ="Permanent link "> ¶</ a > </ h2 >
1714- < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-8 -1 " name ="__codelineno-8 -1 " href ="#__codelineno-8 -1 "> </ a > < span class ="c1 "> # Lint all projects in the workspace</ span >
1715- < a id ="__codelineno-8 -2 " name ="__codelineno-8 -2 " href ="#__codelineno-8 -2 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > finecode< span class ="w "> </ span > run< span class ="w "> </ span > lint
1716- < a id ="__codelineno-8 -3 " name ="__codelineno-8 -3 " href ="#__codelineno-8 -3 "> </ a >
1717- < a id ="__codelineno-8 -4 " name ="__codelineno-8 -4 " href ="#__codelineno-8 -4 "> </ a > < span class ="c1 "> # Check formatting (without modifying files)</ span >
1718- < a id ="__codelineno-8 -5 " name ="__codelineno-8 -5 " href ="#__codelineno-8 -5 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > finecode< span class ="w "> </ span > run< span class ="w "> </ span > check_formatting
1719- < a id ="__codelineno-8 -6 " name ="__codelineno-8 -6 " href ="#__codelineno-8 -6 "> </ a >
1720- < a id ="__codelineno-8 -7 " name ="__codelineno-8 -7 " href ="#__codelineno-8 -7 "> </ a > < span class ="c1 "> # Format all files</ span >
1721- < a id ="__codelineno-8 -8 " name ="__codelineno-8 -8 " href ="#__codelineno-8 -8 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > finecode< span class ="w "> </ span > run< span class ="w "> </ span > format
1722- < a id ="__codelineno-8 -9 " name ="__codelineno-8 -9 " href ="#__codelineno-8 -9 "> </ a >
1723- < a id ="__codelineno-8 -10 " name ="__codelineno-8 -10 " href ="#__codelineno-8 -10 "> </ a > < span class ="c1 "> # Run lint and check_formatting concurrently</ span >
1724- < a id ="__codelineno-8 -11 " name ="__codelineno-8 -11 " href ="#__codelineno-8 -11 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > finecode< span class ="w "> </ span > run< span class ="w "> </ span > --concurrently< span class ="w "> </ span > lint< span class ="w "> </ span > check_formatting
1717+ < div class ="highlight "> < pre > < span > </ span > < code > < a id ="__codelineno-9 -1 " name ="__codelineno-9 -1 " href ="#__codelineno-9 -1 "> </ a > < span class ="c1 "> # Lint all projects in the workspace</ span >
1718+ < a id ="__codelineno-9 -2 " name ="__codelineno-9 -2 " href ="#__codelineno-9 -2 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > finecode< span class ="w "> </ span > run< span class ="w "> </ span > lint
1719+ < a id ="__codelineno-9 -3 " name ="__codelineno-9 -3 " href ="#__codelineno-9 -3 "> </ a >
1720+ < a id ="__codelineno-9 -4 " name ="__codelineno-9 -4 " href ="#__codelineno-9 -4 "> </ a > < span class ="c1 "> # Check formatting (without modifying files)</ span >
1721+ < a id ="__codelineno-9 -5 " name ="__codelineno-9 -5 " href ="#__codelineno-9 -5 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > finecode< span class ="w "> </ span > run< span class ="w "> </ span > check_formatting
1722+ < a id ="__codelineno-9 -6 " name ="__codelineno-9 -6 " href ="#__codelineno-9 -6 "> </ a >
1723+ < a id ="__codelineno-9 -7 " name ="__codelineno-9 -7 " href ="#__codelineno-9 -7 "> </ a > < span class ="c1 "> # Format all files</ span >
1724+ < a id ="__codelineno-9 -8 " name ="__codelineno-9 -8 " href ="#__codelineno-9 -8 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > finecode< span class ="w "> </ span > run< span class ="w "> </ span > format
1725+ < a id ="__codelineno-9 -9 " name ="__codelineno-9 -9 " href ="#__codelineno-9 -9 "> </ a >
1726+ < a id ="__codelineno-9 -10 " name ="__codelineno-9 -10 " href ="#__codelineno-9 -10 "> </ a > < span class ="c1 "> # Run lint and check_formatting concurrently</ span >
1727+ < a id ="__codelineno-9 -11 " name ="__codelineno-9 -11 " href ="#__codelineno-9 -11 "> </ a > python< span class ="w "> </ span > -m< span class ="w "> </ span > finecode< span class ="w "> </ span > run< span class ="w "> </ span > --concurrently< span class ="w "> </ span > lint< span class ="w "> </ span > check_formatting
17251728</ code > </ pre > </ div >
17261729< h2 id ="next-steps "> Next steps< a class ="headerlink " href ="#next-steps " title ="Permanent link "> ¶</ a > </ h2 >
17271730< ul >
0 commit comments