diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..77483aa6 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,20 @@ +# Agent Instructions + +## CLI Output Style + +Use compact Unicode symbols for terminal output, not emoji. This keeps new and +updated terminal output consistent and avoids rendering issues across terminals. + +**Preferred symbols:** +- `✓` success, approved, merged +- `✗` failure, conflict, changes requested +- `●` active, pending, in progress +- `○` inactive, skipped, none +- `—` unknown, not applicable + +**Avoid in terminal output:** `✅`, `❌`, `🟢`, `🔴`, `📝`, `⚠️`, `🔄`, `📦`, `🤖`, `🔗` +and other emoji. They can render at inconsistent widths across terminals and +break column alignment. + +**Exception:** Emoji are acceptable in markdown output destined for GitHub +(PR comments, CI summaries) where they render consistently. diff --git a/mergify_cli/stack/hooks/scripts/pre-push.sh b/mergify_cli/stack/hooks/scripts/pre-push.sh index 56c34fa4..9a0bbaeb 100755 --- a/mergify_cli/stack/hooks/scripts/pre-push.sh +++ b/mergify_cli/stack/hooks/scripts/pre-push.sh @@ -40,7 +40,7 @@ if test "$has_change_id" -eq 0; then fi echo "" -echo "⚠ This branch is managed by Mergify stacks." +echo "This branch is managed by Mergify stacks." echo " Use 'mergify stack push' instead of 'git push'." echo "" echo " 'mergify stack push' will:" diff --git a/mergify_cli/stack/setup.py b/mergify_cli/stack/setup.py index 0a427d17..c0fb9998 100644 --- a/mergify_cli/stack/setup.py +++ b/mergify_cli/stack/setup.py @@ -110,7 +110,7 @@ def _install_skill_stub( if existing_content == _SKILL_STUB_CONTENT: if verbose: console.print( - f" ✅ Skill stub: up to date ({skill_stub_path})", + f" ✓ Skill stub: up to date ({skill_stub_path})", style="green", ) return @@ -118,9 +118,8 @@ def _install_skill_stub( skill_stub_path.write_text(_SKILL_STUB_CONTENT, encoding="utf-8") if verbose: action = "updated" if is_update else "installed" - emoji = "🔄" if is_update else "📦" console.print( - f" {emoji} Skill stub: {action} ({skill_stub_path})", + f" ✓ Skill stub: {action} ({skill_stub_path})", style="bold green", ) @@ -322,12 +321,12 @@ def _install_claude_hooks(*, verbose: bool = False) -> None: dest_file.chmod(0o755) if verbose: console.print( - f" 🔄 Hook script: updated ({src_file.name})", + f" ✓ Hook script: updated ({src_file.name})", style="bold cyan", ) elif verbose: console.print( - f" ✅ Hook script: up to date ({src_file.name})", + f" ✓ Hook script: up to date ({src_file.name})", style="green", ) @@ -362,7 +361,7 @@ def _install_claude_hooks(*, verbose: bool = False) -> None: if already_installed: if verbose: console.print( - f" ✅ Settings hook: up to date ({settings_file})", + f" ✓ Settings hook: up to date ({settings_file})", style="green", ) else: @@ -383,7 +382,7 @@ def _install_claude_hooks(*, verbose: bool = False) -> None: ) if verbose: console.print( - f" 🔗 Settings hook: installed ({settings_file})", + f" ✓ Settings hook: installed ({settings_file})", style="bold cyan", ) @@ -480,7 +479,7 @@ async def stack_setup(*, force: bool = False, global_install: bool = False) -> N _install_git_hook(hooks_dir, hook_name, force=force) # Install Claude hooks for session ID tracking (global) - console.print("\n🤖 Claude Code integration:", style="bold") + console.print("\nClaude Code integration:", style="bold") _install_claude_hooks(verbose=True) # Install skill stub for AI tool bootstrapping (project-level)