Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/homebrew-tap.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Update Homebrew tap
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
- "v+([0-9]).+([0-9]).+([0-9])"
workflow_dispatch:
inputs:
version:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linux-installer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
tags:
# Same scheme as release-pythinker-cli.yml and windows-installer.yml.
- "v[0-9]+.[0-9]+.[0-9]+"
- "v+([0-9]).+([0-9]).+([0-9])"
workflow_dispatch:
inputs:
version:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/promote-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ name: Promote release
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
- "v+([0-9]).+([0-9]).+([0-9])"
workflow_dispatch:
inputs:
tag:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-pythinker-cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Release (pythinker-code)
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
- "v+([0-9]).+([0-9]).+([0-9])"

permissions:
contents: write
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows-installer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
tags:
# Match the existing PyPI release workflow's tag scheme: v<MAJOR>.<MINOR>.<PATCH>.
- "v[0-9]+.[0-9]+.[0-9]+"
- "v+([0-9]).+([0-9]).+([0-9])"
workflow_dispatch:
inputs:
version:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ static/
.memo/
.entire
.claude
.pythinker/
.worktrees/
blackbox/

Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ GitHub Releases page; `0.8.0` is the new starting line.

## Unreleased

- **Redesigned startup welcome banner.** The banner now uses a cleaner footer-chip layout: the "What's new / Update available" chip sits on the panel's bottom border, the headline/strapline/help lines align beside the robot logo, and the info grid drops its vertical separator. The robot art and palette are unchanged.
- **Terminal-aware rendering for minimal and CI terminals.** The shell UI adapts to the terminal — ASCII glyph fallbacks for `TERM=dumb` and legacy Windows code pages, reduced-motion mode (`PYTHINKER_REDUCED_MOTION`), and `NO_COLOR`/`CLICOLOR` support that strips color cleanly — so output stays readable in CI logs, SSH panes, and bare terminals.
- **Windows updates avoid encoded PowerShell.** Native updates now launch the signed Inno installer directly with Restart Manager flags instead of a `powershell.exe -EncodedCommand` helper, reducing antivirus command-line heuristic false positives. Windows bootstrap installs use visible `/SILENT` progress instead of fully suppressed setup, and the installer build signs bundled PE files plus Inno's setup/uninstaller/temp copies when signing credentials are configured.

## 0.27.0 (2026-05-31)
Expand Down
33 changes: 33 additions & 0 deletions PRODUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Product

## Register

Use a product-engineering register: concise, practical, and confident. Write for developers who value clear terminal workflows; prefer precise verbs, concrete outcomes, and short examples over marketing slogans.

## Users

Developers using Pythinker inside terminal workflows, including PowerShell, Windows Terminal, macOS Terminal, iTerm2, GNOME Terminal, CI logs, SSH sessions, and low-color or no-color shells. They are reviewing code, diagnosing failures, running commands, approving changes, and switching between AI and shell work.

## Product Purpose

Pythinker Code is a review-first AI engineering CLI. The interface should help users understand what the agent is doing, trust approvals and results, move quickly through repeated terminal actions, and keep context visible without leaving the shell.

## Brand Personality

Disciplined, terminal-native, precise.

## Anti-references

Do not make the TUI feel like a neon dashboard, glassmorphism mockup, emoji-heavy chat toy, or novelty terminal skin. Avoid fragile color-only semantics, excessive borders, box-heavy layouts, decorative motion, AI-purple gradients, and UI effects that slow repeated keyboard workflows.

## Design Principles

1. Standardize first: core structure, labels, states, and colors must behave consistently across shells and terminal capabilities.
2. Text is the UI: layout, copy, hierarchy, and semantic labels should remain usable in no-color and narrow-width environments.
3. Speed over spectacle: feedback should be immediate, short, and interruptible; repeated keyboard actions should not animate.
4. State must be explicit: approvals, background work, errors, warnings, and tool execution need clear shape and wording, not just color.
5. Compatibility is craft: PowerShell, Windows Terminal, Unix terminals, SSH, CI, and screen readers should all get a coherent experience.

## Accessibility & Inclusion

Target WCAG-minded contrast within ANSI limitations, colorblind-safe state semantics, reduced-motion behavior, keyboard-first operation, graceful no-color fallback, and responsive rendering from narrow split panes to wide terminals.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -801,4 +801,8 @@ Distributed under the **Apache-2.0 License**. See [`LICENSE`](https://github.com
[🧩 ACP](https://github.com/agentclientprotocol/agent-client-protocol) &nbsp;·&nbsp;
[🔌 MCP](https://modelcontextprotocol.io/)

<p align="center">
<em>Thanks for visiting ✨ Pythinker! Viewing this README does not trigger telemetry.</em>
</p>

Comment thread
elkaix marked this conversation as resolved.
</div>
4 changes: 4 additions & 0 deletions docs/en/release-notes/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ GitHub Releases page; `0.8.0` is the new starting line.

## Unreleased

- **Redesigned startup welcome banner.** The banner now uses a cleaner footer-chip layout: the "What's new / Update available" chip sits on the panel's bottom border, the headline/strapline/help lines align beside the robot logo, and the info grid drops its vertical separator. The robot art and palette are unchanged.
- **Terminal-aware rendering for minimal and CI terminals.** The shell UI adapts to the terminal — ASCII glyph fallbacks for `TERM=dumb` and legacy Windows code pages, reduced-motion mode (`PYTHINKER_REDUCED_MOTION`), and `NO_COLOR`/`CLICOLOR` support that strips color cleanly — so output stays readable in CI logs, SSH panes, and bare terminals.
- **Windows updates avoid encoded PowerShell.** Native updates now launch the signed Inno installer directly with Restart Manager flags instead of a `powershell.exe -EncodedCommand` helper, reducing antivirus command-line heuristic false positives. Windows bootstrap installs use visible `/SILENT` progress instead of fully suppressed setup, and the installer build signs bundled PE files plus Inno's setup/uninstaller/temp copies when signing credentials are configured.

## 0.27.0 (2026-05-31)

### What changed in this release
Expand Down
Loading
Loading