youtrack-cli 0.2.2__tar.gz → 0.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/.claude/settings.local.json +4 -1
  2. youtrack_cli-0.3.1/CLAUDE.md +35 -0
  3. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/PKG-INFO +27 -17
  4. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/README.md +23 -4
  5. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/changelog.rst +12 -2
  6. youtrack_cli-0.3.1/docs/command-aliases.rst +285 -0
  7. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/development.rst +178 -12
  8. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/index.rst +5 -0
  9. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/installation.rst +126 -0
  10. youtrack_cli-0.3.1/docs/logging.rst +346 -0
  11. youtrack_cli-0.3.1/docs/performance.md +267 -0
  12. youtrack_cli-0.3.1/docs/progress-indicators.md +156 -0
  13. youtrack_cli-0.3.1/docs/security.rst +307 -0
  14. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/troubleshooting.rst +363 -11
  15. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/workflows.rst +300 -0
  16. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/justfile +181 -6
  17. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/pyproject.toml +17 -17
  18. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tests/test_admin.py +21 -63
  19. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tests/test_articles.py +15 -45
  20. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tests/test_auth.py +17 -22
  21. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tests/test_boards.py +7 -21
  22. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tests/test_issues.py +31 -93
  23. youtrack_cli-0.3.1/tests/test_logging.py +380 -0
  24. youtrack_cli-0.3.1/tests/test_main.py +393 -0
  25. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tests/test_projects.py +16 -48
  26. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tests/test_reports.py +6 -18
  27. youtrack_cli-0.3.1/tests/test_security.py +512 -0
  28. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tests/test_time.py +5 -15
  29. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tests/test_users.py +32 -96
  30. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/uv.lock +60 -26
  31. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/youtrack_cli/__init__.py +2 -0
  32. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/youtrack_cli/admin.py +10 -25
  33. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/youtrack_cli/articles.py +8 -17
  34. youtrack_cli-0.3.1/youtrack_cli/auth.py +218 -0
  35. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/youtrack_cli/boards.py +7 -16
  36. youtrack_cli-0.3.1/youtrack_cli/cache.py +237 -0
  37. youtrack_cli-0.3.1/youtrack_cli/cli_utils/__init__.py +5 -0
  38. youtrack_cli-0.3.1/youtrack_cli/cli_utils/aliases.py +30 -0
  39. youtrack_cli-0.3.1/youtrack_cli/client.py +387 -0
  40. youtrack_cli-0.3.1/youtrack_cli/commands/__init__.py +17 -0
  41. youtrack_cli-0.3.1/youtrack_cli/commands/articles.py +774 -0
  42. youtrack_cli-0.3.1/youtrack_cli/commands/boards.py +130 -0
  43. youtrack_cli-0.3.1/youtrack_cli/commands/common.py +32 -0
  44. youtrack_cli-0.3.1/youtrack_cli/commands/issues.py +1071 -0
  45. youtrack_cli-0.3.1/youtrack_cli/commands/projects.py +272 -0
  46. youtrack_cli-0.3.1/youtrack_cli/commands/time_tracking.py +167 -0
  47. youtrack_cli-0.3.1/youtrack_cli/commands/users.py +302 -0
  48. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/youtrack_cli/common.py +15 -1
  49. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/youtrack_cli/config.py +2 -0
  50. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/youtrack_cli/exceptions.py +14 -12
  51. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/youtrack_cli/issues.py +74 -116
  52. youtrack_cli-0.3.1/youtrack_cli/logging.py +278 -0
  53. youtrack_cli-0.3.1/youtrack_cli/main.py +1192 -0
  54. youtrack_cli-0.3.1/youtrack_cli/performance.py +288 -0
  55. youtrack_cli-0.3.1/youtrack_cli/progress.py +247 -0
  56. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/youtrack_cli/projects.py +8 -19
  57. youtrack_cli-0.3.1/youtrack_cli/py.typed +0 -0
  58. youtrack_cli-0.3.1/youtrack_cli/reports.py +299 -0
  59. youtrack_cli-0.3.1/youtrack_cli/security.py +407 -0
  60. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/youtrack_cli/time.py +6 -14
  61. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/youtrack_cli/users.py +8 -20
  62. youtrack_cli-0.3.1/youtrack_cli/utils.py +432 -0
  63. youtrack_cli-0.2.2/CLAUDE.md +0 -200
  64. youtrack_cli-0.2.2/tests/test_main.py +0 -180
  65. youtrack_cli-0.2.2/youtrack_cli/auth.py +0 -114
  66. youtrack_cli-0.2.2/youtrack_cli/logging.py +0 -61
  67. youtrack_cli-0.2.2/youtrack_cli/main.py +0 -3481
  68. youtrack_cli-0.2.2/youtrack_cli/reports.py +0 -307
  69. youtrack_cli-0.2.2/youtrack_cli/utils.py +0 -196
  70. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/.github/dependabot.yml +0 -0
  71. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/.github/workflows/ci.yml +0 -0
  72. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/.github/workflows/release.yml +0 -0
  73. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/.gitignore +0 -0
  74. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/.pre-commit-config.yaml +0 -0
  75. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/.readthedocs.yaml +0 -0
  76. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/PUBLISHING.md +0 -0
  77. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/Makefile +0 -0
  78. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/api/index.rst +0 -0
  79. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/commands/admin.rst +0 -0
  80. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/commands/articles.rst +0 -0
  81. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/commands/auth.rst +0 -0
  82. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/commands/boards.rst +0 -0
  83. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/commands/config.rst +0 -0
  84. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/commands/index.rst +0 -0
  85. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/commands/issues.rst +0 -0
  86. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/commands/projects.rst +0 -0
  87. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/commands/reports.rst +0 -0
  88. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/commands/time.rst +0 -0
  89. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/commands/users.rst +0 -0
  90. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/conf.py +0 -0
  91. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/configuration.rst +0 -0
  92. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/learning-path.rst +0 -0
  93. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/quickstart.rst +0 -0
  94. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/requirements.txt +0 -0
  95. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/docs/youtrack-concepts.rst +0 -0
  96. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/package-lock.json +0 -0
  97. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/package.json +0 -0
  98. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tests/__init__.py +0 -0
  99. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tests/conftest.py +0 -0
  100. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tests/test_config.py +0 -0
  101. {youtrack_cli-0.2.2 → youtrack_cli-0.3.1}/tox.ini +0 -0
@@ -37,7 +37,10 @@
37
37
  "Bash(git branch:*)",
38
38
  "Bash(yt:*)",
39
39
  "WebFetch(domain:pypi.org)",
40
- "mcp__github__create_issue"
40
+ "mcp__github__create_issue",
41
+ "mcp__claude-code__Read",
42
+ "mcp__claude-code__Grep",
43
+ "WebFetch(domain:github.com)"
41
44
  ],
42
45
  "deny": []
43
46
  }
@@ -0,0 +1,35 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Plan
6
+
7
+ This is a YouTrack CLI application for interacting with JetBrains YouTrack issue tracking system via command line interface. This cli will offer an ergonomic, best practice cli and will leverage
8
+
9
+ - rich
10
+ - textual
11
+ - pydantic
12
+
13
+ We use `uv` for managing dependencies.
14
+
15
+ ## Create
16
+
17
+ Each new feature must have a corresponding github issue. When working on a new issue a new feature branch must be created with the name of the branch matching the name of the issue with the issue number in it.
18
+
19
+ For every change that is implemented, the README.md file MUST be updated to reflect that change.
20
+
21
+ ## Test
22
+
23
+ All tests must pass. We use `pytest` for testing, `ruff` for linting, `ty` for type checking, `tox` for running on various versions of Python. We'll utilize `zizmor` for reviewing our GitHub Actions. Pre-commit hooks ensure code quality before commits. All commands should be run with uv.
24
+
25
+ ## Documentation
26
+
27
+ Documentation is available in the docs/ folder. Any new functionality should have documentation written for it there. The README.md file shoudl not be used for comprehensive documentation.
28
+
29
+ ## Deploy
30
+
31
+ Deployment will always be done to a feature branch. When a feature is significant enough, we'll bump the version of the tool and tag it with that version. We will have a github action that deploys this to Test PyPI and PyPI using a `release.yml` GitHub Action.
32
+
33
+ ## Current Configuration
34
+
35
+ - Claude Code permissions are configured in `.claude/settings.local.json`
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: youtrack-cli
3
- Version: 0.2.2
3
+ Version: 0.3.1
4
4
  Summary: YouTrack CLI - Command line interface for JetBrains YouTrack issue tracking system
5
5
  Project-URL: Homepage, https://github.com/ryan-murphy/yt-cli
6
6
  Project-URL: Documentation, https://yt-cli.readthedocs.io/
@@ -26,25 +26,16 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
26
  Classifier: Topic :: Utilities
27
27
  Requires-Python: <3.14,>=3.9
28
28
  Requires-Dist: click>=8.0.0
29
+ Requires-Dist: cryptography>=41.0.0
29
30
  Requires-Dist: httpx>=0.24.0
31
+ Requires-Dist: keyring>=25.0.0
30
32
  Requires-Dist: pydantic-settings>=2.0.0
31
33
  Requires-Dist: pydantic>=2.0.0
32
34
  Requires-Dist: python-dotenv>=1.0.0
33
35
  Requires-Dist: rich>=13.0.0
36
+ Requires-Dist: structlog>=25.4.0
34
37
  Requires-Dist: textual>=0.40.0
35
38
  Requires-Dist: tomli>=1.2.0; python_version < '3.11'
36
- Provides-Extra: dev
37
- Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
38
- Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
39
- Requires-Dist: pytest>=7.0.0; extra == 'dev'
40
- Requires-Dist: ruff>=0.1.0; extra == 'dev'
41
- Requires-Dist: tox>=4.0.0; extra == 'dev'
42
- Requires-Dist: zizmor>=0.1.0; extra == 'dev'
43
- Provides-Extra: docs
44
- Requires-Dist: myst-parser>=2.0.0; extra == 'docs'
45
- Requires-Dist: sphinx-autobuild>=2021.3.14; extra == 'docs'
46
- Requires-Dist: sphinx-rtd-theme>=2.0.0; extra == 'docs'
47
- Requires-Dist: sphinx>=7.0.0; extra == 'docs'
48
39
  Description-Content-Type: text/markdown
49
40
 
50
41
  # YouTrack CLI
@@ -56,8 +47,10 @@ A powerful command line interface for JetBrains YouTrack issue tracking system.
56
47
  ## Features
57
48
 
58
49
  - **Complete YouTrack Management**: Issues, articles, projects, users, time tracking, boards, and reporting
59
- - **Flexible Authentication**: Secure token-based authentication with credential management
50
+ - **Enterprise Security Features**: Command audit logging, credential encryption, token expiration warnings
51
+ - **Flexible Authentication**: Secure token-based authentication with keyring integration
60
52
  - **Rich Output Formats**: Beautiful tables and JSON export for automation
53
+ - **Progress Indicators**: Visual feedback for long-running operations with Rich progress bars
61
54
  - **Comprehensive Configuration**: Customizable defaults and environment-specific settings
62
55
  - **Administrative Tools**: System management, user groups, and health monitoring
63
56
  - **Developer-Friendly**: Built with modern Python practices and extensive documentation
@@ -109,8 +102,8 @@ cd yt-cli
109
102
  uv sync --dev
110
103
  uv pip install -e .
111
104
 
112
- # Or using pip
113
- pip install -e .[dev]
105
+ # Or using pip (requires pip >= 24.0 for PEP 735 support)
106
+ pip install -e . --group dev
114
107
  ```
115
108
 
116
109
  ### Authentication
@@ -123,6 +116,17 @@ yt auth login
123
116
  yt auth token --show
124
117
  ```
125
118
 
119
+ ### Shell Completion
120
+
121
+ YouTrack CLI supports tab completion for bash, zsh, and fish shells:
122
+
123
+ ```bash
124
+ # Enable shell completion (see docs for full instructions)
125
+ yt completion bash --install
126
+ ```
127
+
128
+ 📖 **[Complete shell completion guide](https://yt-cli.readthedocs.io/en/latest/installation.html#shell-completion)**
129
+
126
130
  ### Basic Usage
127
131
 
128
132
  ```bash
@@ -135,8 +139,14 @@ yt articles create "Getting Started" --content "Welcome to our documentation"
135
139
  # Log work time
136
140
  yt time log ISSUE-123 "2h" --description "Feature development"
137
141
 
138
- # Generate reports
142
+ # Generate reports with progress indicators
139
143
  yt reports burndown PROJECT-123
144
+
145
+ # Disable progress indicators for automation
146
+ yt --no-progress reports velocity PROJECT-123
147
+
148
+ # Enable debug logging for troubleshooting
149
+ yt --debug issues list
140
150
  ```
141
151
 
142
152
  ## Documentation
@@ -7,8 +7,10 @@ A powerful command line interface for JetBrains YouTrack issue tracking system.
7
7
  ## Features
8
8
 
9
9
  - **Complete YouTrack Management**: Issues, articles, projects, users, time tracking, boards, and reporting
10
- - **Flexible Authentication**: Secure token-based authentication with credential management
10
+ - **Enterprise Security Features**: Command audit logging, credential encryption, token expiration warnings
11
+ - **Flexible Authentication**: Secure token-based authentication with keyring integration
11
12
  - **Rich Output Formats**: Beautiful tables and JSON export for automation
13
+ - **Progress Indicators**: Visual feedback for long-running operations with Rich progress bars
12
14
  - **Comprehensive Configuration**: Customizable defaults and environment-specific settings
13
15
  - **Administrative Tools**: System management, user groups, and health monitoring
14
16
  - **Developer-Friendly**: Built with modern Python practices and extensive documentation
@@ -60,8 +62,8 @@ cd yt-cli
60
62
  uv sync --dev
61
63
  uv pip install -e .
62
64
 
63
- # Or using pip
64
- pip install -e .[dev]
65
+ # Or using pip (requires pip >= 24.0 for PEP 735 support)
66
+ pip install -e . --group dev
65
67
  ```
66
68
 
67
69
  ### Authentication
@@ -74,6 +76,17 @@ yt auth login
74
76
  yt auth token --show
75
77
  ```
76
78
 
79
+ ### Shell Completion
80
+
81
+ YouTrack CLI supports tab completion for bash, zsh, and fish shells:
82
+
83
+ ```bash
84
+ # Enable shell completion (see docs for full instructions)
85
+ yt completion bash --install
86
+ ```
87
+
88
+ 📖 **[Complete shell completion guide](https://yt-cli.readthedocs.io/en/latest/installation.html#shell-completion)**
89
+
77
90
  ### Basic Usage
78
91
 
79
92
  ```bash
@@ -86,8 +99,14 @@ yt articles create "Getting Started" --content "Welcome to our documentation"
86
99
  # Log work time
87
100
  yt time log ISSUE-123 "2h" --description "Feature development"
88
101
 
89
- # Generate reports
102
+ # Generate reports with progress indicators
90
103
  yt reports burndown PROJECT-123
104
+
105
+ # Disable progress indicators for automation
106
+ yt --no-progress reports velocity PROJECT-123
107
+
108
+ # Enable debug logging for troubleshooting
109
+ yt --debug issues list
91
110
  ```
92
111
 
93
112
  ## Documentation
@@ -26,6 +26,11 @@ Added
26
26
  - **Common CLI components and decorators for consistent command behavior**
27
27
  - **User-friendly error messages with actionable suggestions**
28
28
  - **Structured exception hierarchy (AuthenticationError, ConnectionError, etc.)**
29
+ - **Enhanced release management with comprehensive justfile recipes**
30
+ - **Pre-flight checks for release validation and safety**
31
+ - **Automated release rollback capabilities for emergency situations**
32
+ - **Release status monitoring and health checks**
33
+ - **Comprehensive release troubleshooting documentation**
29
34
 
30
35
  Changed
31
36
  ~~~~~~~
@@ -35,6 +40,9 @@ Changed
35
40
  - **Enhanced project metadata in pyproject.toml with comprehensive classifiers and URLs**
36
41
  - **Improved CLI architecture with global debug and verbose options**
37
42
  - **Updated troubleshooting documentation with new debugging features**
43
+ - **Improved justfile release recipes with safety checks and validation**
44
+ - **Enhanced release workflow documentation with real-world examples**
45
+ - **Updated development documentation with automated release process**
38
46
 
39
47
  Deprecated
40
48
  ~~~~~~~~~~
@@ -46,11 +54,13 @@ Removed
46
54
 
47
55
  Fixed
48
56
  ~~~~~
49
- - None
57
+ - **Release process reliability with proper git state validation**
58
+ - **Version consistency management between pyproject.toml and package**
59
+ - **uv.lock synchronization during release process**
50
60
 
51
61
  Security
52
62
  ~~~~~~~~
53
- - None
63
+ - **Enhanced release process with branch protection and quality gates**
54
64
 
55
65
  [0.1.0] - 2024-07-02
56
66
  ---------------------
@@ -0,0 +1,285 @@
1
+ ================
2
+ Command Aliases
3
+ ================
4
+
5
+ YouTrack CLI provides convenient aliases for commonly used commands to improve usability and reduce typing. This document describes all available command aliases and how to use them effectively.
6
+
7
+ Overview
8
+ ========
9
+
10
+ Command aliases allow you to use shorter command names for frequently used operations. For example, instead of typing ``yt issues list``, you can simply use ``yt i l``.
11
+
12
+ Main Command Aliases
13
+ ====================
14
+
15
+ The following aliases are available for the main command groups:
16
+
17
+ .. list-table:: Main Command Aliases
18
+ :header-rows: 1
19
+ :widths: 20 30 50
20
+
21
+ * - Alias
22
+ - Full Command
23
+ - Description
24
+ * - ``i``
25
+ - ``issues``
26
+ - Issue management commands
27
+ * - ``a``
28
+ - ``articles``
29
+ - Knowledge base article commands
30
+ * - ``p``
31
+ - ``projects``
32
+ - Project management commands
33
+ * - ``u``
34
+ - ``users``
35
+ - User management commands
36
+ * - ``t``
37
+ - ``time``
38
+ - Time tracking commands
39
+ * - ``b``
40
+ - ``boards``
41
+ - Agile board commands
42
+ * - ``c``, ``cfg``
43
+ - ``config``
44
+ - Configuration management
45
+ * - ``login``
46
+ - ``auth``
47
+ - Authentication commands
48
+
49
+ Subcommand Aliases
50
+ ==================
51
+
52
+ Within the issues command group, additional aliases are available for common operations:
53
+
54
+ .. list-table:: Issues Subcommand Aliases
55
+ :header-rows: 1
56
+ :widths: 20 30 50
57
+
58
+ * - Alias
59
+ - Full Command
60
+ - Description
61
+ * - ``c``, ``new``
62
+ - ``create``
63
+ - Create a new issue
64
+ * - ``l``, ``ls``
65
+ - ``list``
66
+ - List issues
67
+ * - ``u``, ``edit``
68
+ - ``update``
69
+ - Update an existing issue
70
+ * - ``s``, ``find``
71
+ - ``search``
72
+ - Search for issues
73
+ * - ``d``, ``del``, ``rm``
74
+ - ``delete``
75
+ - Delete an issue
76
+
77
+ Usage Examples
78
+ ==============
79
+
80
+ Here are practical examples showing how to use aliases effectively:
81
+
82
+ Basic Operations
83
+ ----------------
84
+
85
+ Create a new issue:
86
+
87
+ .. code-block:: bash
88
+
89
+ # Using full commands
90
+ yt issues create PROJECT-123 "Fix login bug"
91
+
92
+ # Using aliases
93
+ yt i c PROJECT-123 "Fix login bug"
94
+ yt i new PROJECT-123 "Fix login bug"
95
+
96
+ List issues:
97
+
98
+ .. code-block:: bash
99
+
100
+ # Using full commands
101
+ yt issues list --assignee me
102
+
103
+ # Using aliases
104
+ yt i l --assignee me
105
+ yt i ls --assignee me
106
+
107
+ Search for issues:
108
+
109
+ .. code-block:: bash
110
+
111
+ # Using full commands
112
+ yt issues search "priority:Critical"
113
+
114
+ # Using aliases
115
+ yt i s "priority:Critical"
116
+ yt i find "priority:Critical"
117
+
118
+ Configuration Management
119
+ ------------------------
120
+
121
+ .. code-block:: bash
122
+
123
+ # Using full commands
124
+ yt config set OUTPUT_FORMAT json
125
+ yt config get OUTPUT_FORMAT
126
+
127
+ # Using aliases
128
+ yt c set OUTPUT_FORMAT json
129
+ yt cfg get OUTPUT_FORMAT
130
+
131
+ Authentication
132
+ --------------
133
+
134
+ .. code-block:: bash
135
+
136
+ # Using full commands
137
+ yt auth login
138
+
139
+ # Using aliases
140
+ yt login
141
+
142
+ Project Management
143
+ ------------------
144
+
145
+ .. code-block:: bash
146
+
147
+ # Using full commands
148
+ yt projects list
149
+
150
+ # Using aliases
151
+ yt p list
152
+
153
+ Time Tracking
154
+ -------------
155
+
156
+ .. code-block:: bash
157
+
158
+ # Using full commands
159
+ yt time log ISSUE-123 "2h 30m" --description "Fixed the bug"
160
+
161
+ # Using aliases
162
+ yt t log ISSUE-123 "2h 30m" --description "Fixed the bug"
163
+
164
+ Complex Workflows
165
+ =================
166
+
167
+ You can chain aliases for even more efficient workflows:
168
+
169
+ Daily Issue Management:
170
+
171
+ .. code-block:: bash
172
+
173
+ # Check your assigned issues
174
+ yt i l --assignee me --state Open
175
+
176
+ # Create a new bug report
177
+ yt i c WEB-123 "Mobile login issue" --type Bug --priority High
178
+
179
+ # Update issue status
180
+ yt i u ISSUE-456 --state "In Progress"
181
+
182
+ # Log work time
183
+ yt t log ISSUE-456 "1h 30m" --description "Initial investigation"
184
+
185
+ Configuration and Setup:
186
+
187
+ .. code-block:: bash
188
+
189
+ # Quick authentication
190
+ yt login
191
+
192
+ # Configure output format
193
+ yt c set OUTPUT_FORMAT table
194
+
195
+ # List current configuration
196
+ yt c list
197
+
198
+ Help and Discovery
199
+ ==================
200
+
201
+ All aliases work with the ``--help`` flag to show command documentation:
202
+
203
+ .. code-block:: bash
204
+
205
+ # Get help for issues commands
206
+ yt i --help
207
+
208
+ # Get help for creating issues
209
+ yt i c --help
210
+
211
+ # Get help for configuration
212
+ yt c --help
213
+
214
+ The main help command also lists all available aliases:
215
+
216
+ .. code-block:: bash
217
+
218
+ yt --help
219
+
220
+ Best Practices
221
+ ==============
222
+
223
+ 1. **Start with Full Commands**: When learning, use full command names to understand the structure.
224
+
225
+ 2. **Use Aliases for Frequent Operations**: Once comfortable, switch to aliases for commands you use often.
226
+
227
+ 3. **Mix and Match**: You can combine full commands and aliases as needed:
228
+
229
+ .. code-block:: bash
230
+
231
+ yt i create PROJECT-123 "Title" # Mix of alias and full command
232
+
233
+ 4. **Shell Completion**: Aliases work with shell completion, making them even faster to use.
234
+
235
+ 5. **Documentation**: When sharing commands with others, consider using full names for clarity in documentation.
236
+
237
+ Shell Completion
238
+ ================
239
+
240
+ Aliases are fully supported by the shell completion system. After setting up completion for your shell:
241
+
242
+ .. code-block:: bash
243
+
244
+ # Generate completion for bash
245
+ yt completion bash --install
246
+
247
+ # Generate completion for zsh
248
+ yt completion zsh --install
249
+
250
+ # Generate completion for fish
251
+ yt completion fish --install
252
+
253
+ You can use tab completion with aliases just like with full commands:
254
+
255
+ .. code-block:: bash
256
+
257
+ yt i <TAB> # Shows issues subcommands
258
+ yt i c <TAB> # Shows create command options
259
+ yt c s<TAB> # Completes to "set"
260
+
261
+ Migration Guide
262
+ ===============
263
+
264
+ If you're upgrading from a version without aliases, your existing commands will continue to work unchanged. Aliases are additive and don't replace existing functionality.
265
+
266
+ You can gradually adopt aliases at your own pace:
267
+
268
+ 1. Continue using full commands in scripts and documentation
269
+ 2. Start using aliases for interactive command-line work
270
+ 3. Update your muscle memory over time
271
+
272
+ Troubleshooting
273
+ ===============
274
+
275
+ If aliases don't work as expected:
276
+
277
+ 1. **Check Version**: Ensure you're using a version that supports aliases (v0.3.0+)
278
+
279
+ 2. **Verify Installation**: Run ``yt --help`` to see if aliases are listed
280
+
281
+ 3. **Clear Cache**: If using shell completion, you may need to restart your shell or reload completion
282
+
283
+ 4. **Conflict Resolution**: If an alias conflicts with another command, the original command takes precedence
284
+
285
+ For additional help, see the :doc:`troubleshooting` guide or file an issue on GitHub.