Pythinker Code
+You're logged in to Pythinker
+You can close this tab and return to Pythinker.
+diff --git a/apps/pythinker-code/README.md b/apps/pythinker-code/README.md index 0b74772c..0fbcc277 100644 --- a/apps/pythinker-code/README.md +++ b/apps/pythinker-code/README.md @@ -5,7 +5,7 @@ [](https://www.npmjs.com/package/@pythoughts/pythinker-code) [](LICENSE) [](https://pythoughts-labs.github.io/pythinker-code/)
-
+
Pythinker Code
+You can close this tab and return to Pythinker.
+VS Code extension
+
+ Install from the Marketplace and Pythinker Code lives in the Activity Bar. It reads your repo, proposes edits in the native diff viewer, and runs commands with your approval.
+config.toml, MCP servers, login, and sessions as the terminal app.code --install-extension pythoughts.pythinker-code
+
+ Requires VS Code 1.100.0 or later. Cursor, Windsurf, and other VS Code forks install the same VSIX.
+Installation
@@ -1330,6 +1373,104 @@ onUnmounted(() => { opacity: 0.6; } +.vscode-grid { + display: grid; + grid-template-columns: 3fr 2fr; + align-items: stretch; + gap: 48px; + margin-top: 32px; +} + +/* ponytail: the shot fills the card so both columns end on the same line; cover + crops the screenshot's right-hand marketplace rail, which carries no message */ +.vscode-shot { + overflow: hidden; + border: 1px solid var(--hairline); + border-radius: var(--r-lg); + background: var(--terminal-bg); + box-shadow: var(--shadow-terminal); +} + +.vscode-shot img { + display: block; + width: 100%; + height: 100%; + object-fit: cover; + object-position: left center; +} + +.vscode-copy { + display: flex; + flex-direction: column; + gap: 20px; +} + +.vscode-lead { + color: var(--ink-muted); + font-size: 16px; + line-height: 1.6; +} + +.vscode-points { + display: flex; + flex-direction: column; + gap: 12px; + padding: 0; + list-style: none; + color: var(--ink-muted); + font-size: 14px; + line-height: 1.6; +} + +.vscode-points strong { + color: var(--ink); + font-weight: 600; +} + +.vscode-points code { + padding: 1px 5px; + border-radius: var(--r-sm); + background: var(--surface-2); + color: var(--ink); + font-size: 13px; +} + +.vscode-actions { + display: flex; + flex-direction: column; + gap: 12px; + align-items: flex-start; +} + +.vscode-actions .button-primary { + gap: 8px; +} + +.vscode-actions .button-primary img { + filter: brightness(0) invert(1); +} + +.vscode-command { + display: flex; + width: 100%; + min-width: 0; + align-items: center; + gap: 8px; + padding: 4px 4px 4px 12px; + border: 1px solid var(--hairline); + border-radius: var(--r-sm); + background: var(--surface-2); +} + +.vscode-command code { + min-width: 0; + flex: 1; + overflow-x: auto; + color: var(--ink); + font-size: 13px; + white-space: nowrap; +} + .plugin-row { display: flex; min-height: 72px; @@ -1514,7 +1655,8 @@ onUnmounted(() => { @media (max-width: 899px) { .quickstart-grid, - .docs-grid { + .docs-grid, + .vscode-grid { grid-template-columns: 1fr; }