canvaslms-cli 1.6.5 → 1.6.6

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.
package/CHANGELOG.md CHANGED
@@ -1,236 +1,240 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [1.6.5] - 2025-12-15
9
-
10
- ### Removed (1.6.5)
11
-
12
- - **Unused Command File**: Deleted `api.ts` - Raw API command handler that was never imported or used in the CLI
13
- - **Unused Functions from interactive.ts**: `getSubfoldersRecursive()`, `getFilesMatchingWildcard()`, `selectFilesImproved()`
14
- - **Unused Dependencies**: Removed `adm-zip` and `@types/adm-zip` packages
15
-
16
- ## [1.6.4-fix] - 2025-12-15
17
-
18
- ### Fix (1.6.4)
19
-
20
- - **Remove Postinstall Command**: Change to prepare husky
21
-
22
- ## [1.6.4] - 2025-12-15
23
-
24
- ### Added (1.6.4)
25
-
26
- - **Modules Command**: New `modules` command to view course modules and their items with progress tracking
27
- - **Calendar Command**: New `calendar` command to view upcoming assignments and events with due dates
28
-
29
- ### Changed (1.6.4)
30
-
31
- - **Course Arguments**: Replaced course ID arguments with course name arguments across all commands (assignments, grades, announcements) for easier usage
32
- - **Workflow Name**: Changed CI workflow name from "CI" to "Test & Build" for better clarity
33
-
34
- ## [1.6.3] - 2025-12-14
35
-
36
- ### Added (1.6.3)
37
-
38
- - **Live table resize**: Tables re-render automatically when terminal is resized
39
- - **Adaptive truncation**: Text truncation updates dynamically based on terminal width
40
-
41
- ### Fixed (1.6.3)
42
-
43
- - **Submit table truncation**: Reduced excessive truncation in the submit table by compacting columns and shortening date format
44
- - **Table overflow**: Fixed tables overflowing terminal width on small screens
45
- - **Column width calculation**: Corrected border overhead calculation for accurate fitting
46
-
47
- ### Changed (1.6.3)
48
-
49
- - **Submit table columns**: Optimized and tightened column widths for compact display (Assignment Name max width set to 35, Type fixed at 8, Due fixed at 16 with MM/DD/YYYY formatting, Status fixed at 12)
50
-
51
- ## [1.6.2] - 2025-12-14
52
-
53
- - **Table display**: All table now have the same rounded corner format, text size adaptive to the terminal size
54
-
55
- ## [1.6.1] - 2025-12-13
56
-
57
- - **Dry Run Mode**: Submit command now supports `--dry-run` flag to test submission flow without actually uploading files or submitting assignments
58
- - **Assignment URL Display**: After successful submission, the direct link to the assignment is now displayed for easy access
59
-
60
- ## [1.6.0] - 2025-12-06
61
-
62
- ### Added (1.6.0)
63
-
64
- - **Boxed Table Displays**: All commands now display data in modern boxed tables with rounded corners (╭╮╰╯)
65
- - **Adaptive Column Widths**: Tables dynamically adjust column widths based on terminal size for optimal display
66
- - **Color-Coded Grades**: Assignment grades are now color-coded (green: ≥80%, yellow: ≥50%, red: <50%)
67
- - **Announcements Table**: Course selection and announcements list now displayed in formatted tables
68
- - **Profile Table**: User profile information displayed in clean field/value table format
69
-
70
- ### Changed (1.6.0)
71
-
72
- - **Grades Display**: Merged official grades and calculated statistics into a unified table
73
- - **CLI Descriptions**: Shortened command descriptions for cleaner help output
74
- - **Config Output**: Simplified config help by removing redundant command examples
75
- - **Submit Command**: Updated to use rounded corners and adaptive widths
76
- - **Line Endings**: Standardized all files to LF line endings
77
-
78
- ### Technical
79
-
80
- - Consistent use of box-drawing characters across all commands
81
- - Improved terminal width detection for responsive layouts
82
-
83
- ## [1.5.1] - 2025-11-05
84
-
85
- ## [1.4.7] - 2025-11-05
86
-
87
- ### Added (1.4.7)
88
-
89
- - Show allowed file extensions hint in the interactive file browser when an assignment restricts uploads (e.g. `*.pdf`, `*.docx`).
90
- - Add `r` keybinding to the file browser to reload the current directory listing without exiting the browser.
91
-
92
- - **Enhanced File Selection UX**: Implemented continuous file selection until empty input
93
- - Browse current directory with file size display
94
- - Add multiple files one by one
95
- - Remove files from selection
96
- - Show currently selected files
97
- - Smart file filtering (excludes hidden files, package files)
98
- - **Wildcard support**: Use patterns like `*.html`, `*.js`, `*.pdf` to select multiple files
99
- - File type icons for better visual identification
100
-
101
- - **Improved Grade Viewing**:
102
- - Interactive course selection for grade viewing
103
- - Assignment-level grade details with color coding
104
- - Overall course grade summary
105
- - Better grade formatting and status indicators
106
- - Support for letter grades, excused, and missing assignments
107
-
108
- ### Notes (1.4.7)
109
-
110
- - Bumped package version to 1.4.7.
111
- - Assignment-level grade details with color coding
112
- - Overall course grade summary
113
- - Better grade formatting and status indicators
114
- - Support for letter grades, excused, and missing assignments
115
-
116
- - **Enhanced Display Names**:
117
- - Show course names instead of IDs in all commands
118
- - Display assignment names prominently
119
- - Better labeling of IDs vs names throughout interface
120
-
121
- - **Interactive Utilities**:
122
- - Added validation and retry logic for user input
123
- - Confirmation helpers with default values
124
- - List selection utilities with cancel option
125
-
126
- ### Improved (1.4.7)
127
-
128
- - **Submit Command**: Complete redesign with better file selection workflow
129
- - **Grades Command**: Interactive course selection and detailed assignment grades
130
- - **Assignments Command**: Display course names prominently
131
- - **Announcements Command**: Show course names instead of IDs
132
- - **User Experience**: More consistent and intuitive interfaces across all commands
133
-
134
- ### Fixed (1.4.7)
135
-
136
- - Prevent the interactive file browser from permanently removing other stdin listeners: save and restore `process.stdin` 'data' listeners so `readline` and SIGINT (Ctrl+C) continue to work after browser exit.
137
- - Filter file browser listings by `allowed_extensions` when provided by the assignment so disallowed file types cannot be selected (prevents HTTP 400 "filetype not allowed").
138
- - Allow pressing Enter at the final "Proceed with submission? (Y/n)" prompt to accept the default (Yes) to match the shown prompt.
139
- - **Assignment Name Display**: Fixed "Unknown Assignment" issue in submission summary
140
- - **File Selection Flow**: Better error handling and user guidance during file selection
141
- - **Variable Scope**: Proper assignment variable handling throughout submission process
142
-
143
- ### Technical (1.4.7)
144
-
145
- - Enhanced interactive utilities in `lib/interactive.js`
146
- - Better error handling and user guidance
147
- - Improved code organization and modularity
148
-
149
- ## [1.1.1] - 2025-07-03
150
-
151
- ### Fixed (1.1.1)
152
-
153
- - Removed dotenv dependency that was causing module not found errors
154
- - Fixed configuration file path to use `.canvaslms-cli-config.json`
155
- - Resolved package publishing and global installation issues
156
-
157
- ### Added (1.1.1)
158
-
159
- - Dual binary support: both `canvaslms-cli` and `canvas` commands work
160
-
161
- ## [1.1.0] - 2025-07-03
162
-
163
- ### Major Changes (1.1.0)
164
-
165
- - Home directory configuration system (~/.canvaslms-cli-config.json)
166
- - Interactive configuration setup wizard (`canvas config setup`)
167
- - Configuration management subcommands:
168
- - `canvas config show` - Display current configuration
169
- - `canvas config edit` - Edit existing configuration
170
- - `canvas config path` - Show config file location
171
- - `canvas config delete` - Remove configuration file
172
- - Automatic configuration validation for all commands
173
- - Improved error handling and user guidance
174
-
175
- ### Changed (1.1.0)
176
-
177
- - **BREAKING**: Removed environment variable support (.env files)
178
- - Configuration now stored in user's home directory instead of project directory
179
- - Enhanced configuration validation with better error messages
180
- - Improved user onboarding with guided setup process
181
-
182
- ### Removed (1.1.0)
183
-
184
- - dotenv dependency (no longer needed)
185
- - Environment variable fallback support
186
-
187
- ## [1.0.0] - 2025-07-03
188
-
189
- ### Added (1.0.0)
190
-
191
- - Initial release of Canvas CLI Tool
192
- - Modular architecture with separate command handlers
193
- - Interactive assignment submission with file upload
194
- - Course management (list starred/all courses)
195
- - Assignment operations (view, filter by status)
196
- - Grade viewing for all courses or specific course
197
- - Announcements viewing
198
- - User profile management
199
- - Raw API access for all HTTP methods (GET, POST, PUT, DELETE)
200
- - Comprehensive configuration management
201
- - Color-coded output for better readability
202
- - Support for multiple file uploads
203
- - File selection from current directory
204
- - Detailed verbose modes for all commands
205
-
206
- ### Features (1.0.0)
207
-
208
- - 📚 Course listing with favorites support
209
- - 📝 Assignment management with status indicators
210
- - 🚀 Interactive file submission workflow
211
- - 📢 Announcement viewing
212
- - 👤 Profile information display
213
- - 🔧 Direct Canvas API access
214
- - Command aliases for faster usage
215
- - 🎨 Color-coded grade display
216
- - 📁 Smart file selection interface
217
-
218
- ### Technical (1.0.0)
219
-
220
- - Modular command structure in separate files
221
- - Reusable API client library
222
- - Interactive prompt utilities
223
- - File upload handling with progress indicators
224
- - Error handling and user-friendly messages
225
- - Cross-platform compatibility
226
-
227
- ## [Unreleased]
228
-
229
- ### Planned Features (Unreleased)
230
-
231
- - Assignment creation and editing
232
- - Bulk operations
233
- - Plugin system
234
- - Advanced filtering options
235
- - Export functionality
236
- - Offline mode support
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.6.6] - 2025-12-15
9
+
10
+ - **Update Readme**: Add new command and remove redundant paats
11
+
12
+ ## [1.6.5] - 2025-12-15
13
+
14
+ ### Removed (1.6.5)
15
+
16
+ - **Unused Command File**: Deleted `api.ts` - Raw API command handler that was never imported or used in the CLI
17
+ - **Unused Functions from interactive.ts**: `getSubfoldersRecursive()`, `getFilesMatchingWildcard()`, `selectFilesImproved()`
18
+ - **Unused Dependencies**: Removed `adm-zip` and `@types/adm-zip` packages
19
+
20
+ ## [1.6.4-fix] - 2025-12-15
21
+
22
+ ### Fix (1.6.4)
23
+
24
+ - **Remove Postinstall Command**: Change to prepare husky
25
+
26
+ ## [1.6.4] - 2025-12-15
27
+
28
+ ### Added (1.6.4)
29
+
30
+ - **Modules Command**: New `modules` command to view course modules and their items with progress tracking
31
+ - **Calendar Command**: New `calendar` command to view upcoming assignments and events with due dates
32
+
33
+ ### Changed (1.6.4)
34
+
35
+ - **Course Arguments**: Replaced course ID arguments with course name arguments across all commands (assignments, grades, announcements) for easier usage
36
+ - **Workflow Name**: Changed CI workflow name from "CI" to "Test & Build" for better clarity
37
+
38
+ ## [1.6.3] - 2025-12-14
39
+
40
+ ### Added (1.6.3)
41
+
42
+ - **Live table resize**: Tables re-render automatically when terminal is resized
43
+ - **Adaptive truncation**: Text truncation updates dynamically based on terminal width
44
+
45
+ ### Fixed (1.6.3)
46
+
47
+ - **Submit table truncation**: Reduced excessive truncation in the submit table by compacting columns and shortening date format
48
+ - **Table overflow**: Fixed tables overflowing terminal width on small screens
49
+ - **Column width calculation**: Corrected border overhead calculation for accurate fitting
50
+
51
+ ### Changed (1.6.3)
52
+
53
+ - **Submit table columns**: Optimized and tightened column widths for compact display (Assignment Name max width set to 35, Type fixed at 8, Due fixed at 16 with MM/DD/YYYY formatting, Status fixed at 12)
54
+
55
+ ## [1.6.2] - 2025-12-14
56
+
57
+ - **Table display**: All table now have the same rounded corner format, text size adaptive to the terminal size
58
+
59
+ ## [1.6.1] - 2025-12-13
60
+
61
+ - **Dry Run Mode**: Submit command now supports `--dry-run` flag to test submission flow without actually uploading files or submitting assignments
62
+ - **Assignment URL Display**: After successful submission, the direct link to the assignment is now displayed for easy access
63
+
64
+ ## [1.6.0] - 2025-12-06
65
+
66
+ ### Added (1.6.0)
67
+
68
+ - **Boxed Table Displays**: All commands now display data in modern boxed tables with rounded corners (╭╮╰╯)
69
+ - **Adaptive Column Widths**: Tables dynamically adjust column widths based on terminal size for optimal display
70
+ - **Color-Coded Grades**: Assignment grades are now color-coded (green: ≥80%, yellow: ≥50%, red: <50%)
71
+ - **Announcements Table**: Course selection and announcements list now displayed in formatted tables
72
+ - **Profile Table**: User profile information displayed in clean field/value table format
73
+
74
+ ### Changed (1.6.0)
75
+
76
+ - **Grades Display**: Merged official grades and calculated statistics into a unified table
77
+ - **CLI Descriptions**: Shortened command descriptions for cleaner help output
78
+ - **Config Output**: Simplified config help by removing redundant command examples
79
+ - **Submit Command**: Updated to use rounded corners and adaptive widths
80
+ - **Line Endings**: Standardized all files to LF line endings
81
+
82
+ ### Technical
83
+
84
+ - Consistent use of box-drawing characters across all commands
85
+ - Improved terminal width detection for responsive layouts
86
+
87
+ ## [1.5.1] - 2025-11-05
88
+
89
+ ## [1.4.7] - 2025-11-05
90
+
91
+ ### Added (1.4.7)
92
+
93
+ - Show allowed file extensions hint in the interactive file browser when an assignment restricts uploads (e.g. `*.pdf`, `*.docx`).
94
+ - Add `r` keybinding to the file browser to reload the current directory listing without exiting the browser.
95
+
96
+ - **Enhanced File Selection UX**: Implemented continuous file selection until empty input
97
+ - Browse current directory with file size display
98
+ - Add multiple files one by one
99
+ - Remove files from selection
100
+ - Show currently selected files
101
+ - Smart file filtering (excludes hidden files, package files)
102
+ - **Wildcard support**: Use patterns like `*.html`, `*.js`, `*.pdf` to select multiple files
103
+ - File type icons for better visual identification
104
+
105
+ - **Improved Grade Viewing**:
106
+ - Interactive course selection for grade viewing
107
+ - Assignment-level grade details with color coding
108
+ - Overall course grade summary
109
+ - Better grade formatting and status indicators
110
+ - Support for letter grades, excused, and missing assignments
111
+
112
+ ### Notes (1.4.7)
113
+
114
+ - Bumped package version to 1.4.7.
115
+ - Assignment-level grade details with color coding
116
+ - Overall course grade summary
117
+ - Better grade formatting and status indicators
118
+ - Support for letter grades, excused, and missing assignments
119
+
120
+ - **Enhanced Display Names**:
121
+ - Show course names instead of IDs in all commands
122
+ - Display assignment names prominently
123
+ - Better labeling of IDs vs names throughout interface
124
+
125
+ - **Interactive Utilities**:
126
+ - Added validation and retry logic for user input
127
+ - Confirmation helpers with default values
128
+ - List selection utilities with cancel option
129
+
130
+ ### Improved (1.4.7)
131
+
132
+ - **Submit Command**: Complete redesign with better file selection workflow
133
+ - **Grades Command**: Interactive course selection and detailed assignment grades
134
+ - **Assignments Command**: Display course names prominently
135
+ - **Announcements Command**: Show course names instead of IDs
136
+ - **User Experience**: More consistent and intuitive interfaces across all commands
137
+
138
+ ### Fixed (1.4.7)
139
+
140
+ - Prevent the interactive file browser from permanently removing other stdin listeners: save and restore `process.stdin` 'data' listeners so `readline` and SIGINT (Ctrl+C) continue to work after browser exit.
141
+ - Filter file browser listings by `allowed_extensions` when provided by the assignment so disallowed file types cannot be selected (prevents HTTP 400 "filetype not allowed").
142
+ - Allow pressing Enter at the final "Proceed with submission? (Y/n)" prompt to accept the default (Yes) to match the shown prompt.
143
+ - **Assignment Name Display**: Fixed "Unknown Assignment" issue in submission summary
144
+ - **File Selection Flow**: Better error handling and user guidance during file selection
145
+ - **Variable Scope**: Proper assignment variable handling throughout submission process
146
+
147
+ ### Technical (1.4.7)
148
+
149
+ - Enhanced interactive utilities in `lib/interactive.js`
150
+ - Better error handling and user guidance
151
+ - Improved code organization and modularity
152
+
153
+ ## [1.1.1] - 2025-07-03
154
+
155
+ ### Fixed (1.1.1)
156
+
157
+ - Removed dotenv dependency that was causing module not found errors
158
+ - Fixed configuration file path to use `.canvaslms-cli-config.json`
159
+ - Resolved package publishing and global installation issues
160
+
161
+ ### Added (1.1.1)
162
+
163
+ - Dual binary support: both `canvaslms-cli` and `canvas` commands work
164
+
165
+ ## [1.1.0] - 2025-07-03
166
+
167
+ ### Major Changes (1.1.0)
168
+
169
+ - Home directory configuration system (~/.canvaslms-cli-config.json)
170
+ - Interactive configuration setup wizard (`canvas config setup`)
171
+ - Configuration management subcommands:
172
+ - `canvas config show` - Display current configuration
173
+ - `canvas config edit` - Edit existing configuration
174
+ - `canvas config path` - Show config file location
175
+ - `canvas config delete` - Remove configuration file
176
+ - Automatic configuration validation for all commands
177
+ - Improved error handling and user guidance
178
+
179
+ ### Changed (1.1.0)
180
+
181
+ - **BREAKING**: Removed environment variable support (.env files)
182
+ - Configuration now stored in user's home directory instead of project directory
183
+ - Enhanced configuration validation with better error messages
184
+ - Improved user onboarding with guided setup process
185
+
186
+ ### Removed (1.1.0)
187
+
188
+ - dotenv dependency (no longer needed)
189
+ - Environment variable fallback support
190
+
191
+ ## [1.0.0] - 2025-07-03
192
+
193
+ ### Added (1.0.0)
194
+
195
+ - Initial release of Canvas CLI Tool
196
+ - Modular architecture with separate command handlers
197
+ - Interactive assignment submission with file upload
198
+ - Course management (list starred/all courses)
199
+ - Assignment operations (view, filter by status)
200
+ - Grade viewing for all courses or specific course
201
+ - Announcements viewing
202
+ - User profile management
203
+ - Raw API access for all HTTP methods (GET, POST, PUT, DELETE)
204
+ - Comprehensive configuration management
205
+ - Color-coded output for better readability
206
+ - Support for multiple file uploads
207
+ - File selection from current directory
208
+ - Detailed verbose modes for all commands
209
+
210
+ ### Features (1.0.0)
211
+
212
+ - 📚 Course listing with favorites support
213
+ - 📝 Assignment management with status indicators
214
+ - 🚀 Interactive file submission workflow
215
+ - 📢 Announcement viewing
216
+ - 👤 Profile information display
217
+ - 🔧 Direct Canvas API access
218
+ - Command aliases for faster usage
219
+ - 🎨 Color-coded grade display
220
+ - 📁 Smart file selection interface
221
+
222
+ ### Technical (1.0.0)
223
+
224
+ - Modular command structure in separate files
225
+ - Reusable API client library
226
+ - Interactive prompt utilities
227
+ - File upload handling with progress indicators
228
+ - Error handling and user-friendly messages
229
+ - Cross-platform compatibility
230
+
231
+ ## [Unreleased]
232
+
233
+ ### Planned Features (Unreleased)
234
+
235
+ - Assignment creation and editing
236
+ - Bulk operations
237
+ - Plugin system
238
+ - Advanced filtering options
239
+ - Export functionality
240
+ - Offline mode support
package/README.md CHANGED
@@ -6,9 +6,12 @@ A modern, user-friendly command-line interface for Canvas LMS. Manage courses, a
6
6
 
7
7
  - List and filter enrolled/starred courses
8
8
  - View assignments, grades, and submission status
9
- - Interactive file upload for assignments
9
+ - Interactive file upload for assignments with visual file browser
10
+ - View upcoming due dates and calendar events
11
+ - Browse course modules and content
10
12
  - View course announcements
11
13
  - Display user profile information
14
+ - Modern table displays with adaptive column widths
12
15
  - Direct access to Canvas API endpoints
13
16
 
14
17
  ## Installation
@@ -47,85 +50,91 @@ npm install -g canvaslms-cli
47
50
  ### Common Commands
48
51
 
49
52
  ```bash
50
- canvas config # Configure domain and API token
51
- canvas list # List starred courses
52
- canvas list -a # List all enrolled courses
53
- canvas assignments <course> # List assignments for a course
54
- canvas grades # Interactive course selection + detailed grades
55
- canvas grades <course-id> # Show detailed grades for specific course
56
- canvas announcements # Show recent announcements
57
- canvas profile # Show user profile
58
- canvas submit # Interactive assignment submission
53
+ canvas config # Configure domain and API token
54
+ canvas list # List starred courses
55
+ canvas list -a # List all enrolled courses
56
+
57
+ # Assignments (supports course name instead of ID)
58
+ canvas assignments # Interactive course selection
59
+ canvas assignments "math" # List assignments for course matching "math"
60
+ canvas assignments -s # Show only submitted assignments
61
+ canvas assignments -p # Show only pending assignments
62
+
63
+ # Grades (supports course name instead of ID)
64
+ canvas grades # Interactive course selection + detailed grades
65
+ canvas grades "database" # Show detailed grades for course matching "database"
66
+ canvas grades -a # Include inactive/completed courses
67
+ canvas grades -v # Include verbose enrollment details
68
+
69
+ # Announcements (supports course name instead of ID)
70
+ canvas announcements # Interactive course selection
71
+ canvas announcements "software" # Show announcements for course matching "software"
72
+ canvas announcements -l 10 # Show last 10 announcements
73
+
74
+ # Calendar & Due Dates
75
+ canvas calendar # View upcoming due dates (next 14 days)
76
+ canvas calendar -d 30 # View due dates for next 30 days
77
+ canvas calendar -p # Include past due items (last 7 days)
78
+ canvas calendar -a # Include all courses (not just starred)
79
+
80
+ # Modules
81
+ canvas modules # Interactive course selection
82
+ canvas modules "algorithms" # Browse modules for course matching "algorithms"
83
+
84
+ # Submission
85
+ canvas submit # Interactive assignment submission
86
+ canvas submit "tools" # Submit to course matching "tools"
87
+ canvas submit -f file.pdf # Submit specific file
88
+ canvas submit --dry-run # Test submission without uploading
89
+
90
+ # Profile
91
+ canvas profile # Show user profile
92
+ canvas profile -v # Show all profile fields
59
93
  ```
60
94
 
61
95
  ### Assignment Submission
62
96
 
97
+ The submit command provides an interactive file selection experience with a visual file browser:
98
+
63
99
  ```bash
64
- canvas submit # Interactive mode
65
- canvas submit -c <courseId> # Specify course
66
- canvas submit -a <assignmentId> # Specify assignment
100
+ canvas submit # Full interactive mode
101
+ canvas submit "course name" # Specify course by name
67
102
  canvas submit -f <file> # Submit specific file
103
+ canvas submit --dry-run # Test submission flow without uploading
104
+ canvas submit -a # Show all courses (not just starred)
68
105
  ```
69
106
 
70
- ### Viewing Grades
71
-
72
- The grades command provides an enhanced, interactive experience:
107
+ ### Course Grades
73
108
 
74
109
  ```bash
75
110
  canvas grades # Interactive course selection (active courses)
111
+ canvas grades "software" # View grades for course matching "software"
76
112
  canvas grades --all # Include inactive/completed courses
77
- canvas grades <course-id> # Direct course grade view
78
113
  canvas grades --verbose # Include enrollment details
79
114
  canvas grades -a -v # All courses with verbose details
80
115
  ```
81
116
 
82
- **Features:**
83
-
84
- - 📊 Interactive course selection with grade summary table
85
- - 📝 Detailed assignment breakdown with scores
86
- - ✓ Color-coded status indicators (graded, pending, not done)
87
- - 📈 Calculated totals based on graded assignments
88
- - 📋 Table-formatted overall grades
89
- - 🔍 Option to view all courses including inactive ones
90
- - 🎯 Visual progress tracking with emojis
91
-
92
- **What you'll see:**
93
-
94
- 1. List of all courses with current/final scores
95
- 2. Select a course to view detailed breakdown
96
- 3. Overall grades (Canvas official + calculated average)
97
- 4. Complete assignment list with individual scores
98
- 5. Points earned vs points possible
99
- 6. Assignment submission status
100
-
101
- ## Command Reference
102
-
103
- | Command | Alias | Description |
104
- | --------------- | ---------- | ----------------------- |
105
- | `list` | `l` | List courses |
106
- | `assignments` | `assign` | List assignments |
107
- | `submit` | `sub` | Submit assignment files |
108
- | `grades` | `grade` | Show grades |
109
- | `announcements` | `announce` | Show announcements |
110
- | `profile` | `me` | Show user profile |
111
- | `config` | - | Show configuration |
112
-
113
- ## Requirements
114
-
115
- - Node.js >= 14.x
116
- - npm >= 6.x
117
- - Valid Canvas LMS API token
118
-
119
- ## Contributing
120
-
121
- 1. Fork the repository
122
- 2. Create a feature branch: `git checkout -b feature-name`
123
- 3. Make your changes
124
- 4. Run tests: `npm test`
125
- 5. Commit: `git commit -am 'Add feature'`
126
- 6. Push: `git push origin feature-name`
127
- 7. Submit a pull request
117
+ ### Calendar & Due Dates
118
+
119
+ View upcoming assignments and events across all your courses:
120
+
121
+ ```bash
122
+ canvas calendar # Next 14 days (default)
123
+ canvas calendar -d 30 # Next 30 days
124
+ canvas calendar -p # Include past due (last 7 days)
125
+ canvas calendar -a # Include all courses
126
+ ```
127
+
128
+ ### Course Modules
129
+
130
+ Browse and explore course content and modules:
131
+
132
+ ```bash
133
+ canvas modules # Interactive course selection
134
+ canvas modules "database" # Browse modules for specific course
135
+ canvas modules -a # Show all courses
136
+ ```
128
137
 
129
138
  ## License
130
139
 
131
- MIT License - see [LICENSE](LICENSE) for details.
140
+ See [LICENSE](LICENSE) for details.
package/dist/src/index.js CHANGED
@@ -13,7 +13,7 @@ const program = new Command();
13
13
  program
14
14
  .name("canvas")
15
15
  .description("Canvas LMS Command Line Interface")
16
- .version("1.6.5", "-v, --version", "Output the current version");
16
+ .version("1.6.6", "-v, --version", "Output the current version");
17
17
  program
18
18
  .command("list")
19
19
  .alias("l")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "canvaslms-cli",
3
- "version": "1.6.5",
3
+ "version": "1.6.6",
4
4
  "description": "A command line tool for interacting with Canvas LMS API",
5
5
  "keywords": [
6
6
  "canvas",