Skip to content

Commit 73bac56

Browse files
authored
Added README
1 parent 0ec39b9 commit 73bac56

File tree

1 file changed

+150
-0
lines changed

1 file changed

+150
-0
lines changed

README.md

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
# Easy-TaskManagerCLI
2+
ITS NOT A OS TASK MANAGER ITS AN ACCTUAL TASK MANAGER FOR YOUR PERSONAL TASKS!
3+
Despite the name, this is a to-do list manager rather than a Windows task manager - it manages your personal tasks and to-do items in json form. NOT SYSTEM PROCESSES
4+
A simple and efficient command-line task manager for Windows. Manage your tasks directly from the terminal with an interactive menu or quick CLI commands.
5+
6+
Simple is key!
7+
## Features
8+
9+
- Interactive menu interface with keyboard navigation
10+
- Up arrow: navigating up
11+
- Down arrow: navigating down
12+
- SPACE: checks the task
13+
- ENTER: quit the tasks view
14+
- Add, remove, and edit tasks from the command line
15+
- Toggle task completion status (with SPACEBAR)
16+
- Persistent storage in JSON format
17+
- Data stored in AppData for proper Windows integration
18+
- Quick command shortcuts for power users
19+
20+
## What It Does
21+
22+
TaskManagerCLI is a lightweight task management tool that runs entirely in your terminal. It maintains a list of tasks with unique IDs, descriptions, and completion status. All data is automatically saved to `%appdata%\Simple-TaskManagerCLITool\tasks.json`, ensuring your tasks persist between sessions. You can easily transfer your `tasks.json` however you want as long as the naming remains the same: `tasks.json`.
23+
24+
The tool offers two modes of operation:
25+
1. **Interactive Mode**: Launch the menu-driven interface to browse and manage tasks using arrow keys
26+
2. **Command Mode**: Execute quick actions directly from the command line
27+
28+
## Installation
29+
30+
### Requirements
31+
32+
- Windows 10 or later
33+
- .NET 9.0 Runtime or SDK
34+
- Powershell :))
35+
36+
### Installation Steps
37+
38+
1. Clone this repository or download the release
39+
2. Navigate to the project directory
40+
3. Run the installer script:
41+
42+
```powershell
43+
powershell -ExecutionPolicy Bypass -File .\install.ps1
44+
```
45+
46+
The installer will:
47+
- Build the project in Release mode
48+
- Copy files to `%localappdata%\Programs\TaskManagerCLI`
49+
- Rename the executable to `tasks.exe`
50+
- Add the program to your PATH environment variable
51+
52+
4. Restart your terminal
53+
5. Type `tasks` to start using the tool
54+
55+
Alternatively just right click the `install.ps1` and click "Run with PowerShell" to install
56+
### Uninstallation
57+
58+
To remove TaskManagerCLI:
59+
60+
```powershell
61+
powershell -ExecutionPolicy Bypass -File .\install.ps1 -Uninstall
62+
```
63+
64+
## Usage
65+
66+
### Interactive Mode
67+
68+
Launch the interactive menu by running:
69+
70+
```powershell
71+
tasks
72+
```
73+
74+
**Keyboard Controls:**
75+
- Up/Down Arrow Keys: Navigate through tasks
76+
- Spacebar: Toggle task completion status
77+
- Enter: Exit the interactive menu
78+
79+
### Command Line Mode
80+
81+
**View Help:**
82+
```powershell
83+
tasks help
84+
tasks --help
85+
tasks --h
86+
```
87+
88+
**Add a Task:**
89+
```powershell
90+
tasks add "Buy groceries"
91+
tasks add "Finish project documentation"
92+
```
93+
94+
**Remove a Task:**
95+
```powershell
96+
tasks remove 1
97+
```
98+
99+
**Edit a Task:**
100+
```powershell
101+
tasks edit 1 "Buy groceries and cook dinner"
102+
```
103+
104+
## Data Storage
105+
106+
All tasks are stored in a JSON file located at:
107+
```
108+
%appdata%\Simple-TaskManagerCLITool\tasks.json
109+
```
110+
111+
The data structure includes:
112+
- Task ID (auto-incremented)
113+
- Task description
114+
- Completion status (true/false)
115+
116+
## Development
117+
118+
### Building from Source
119+
120+
```powershell
121+
dotnet build
122+
```
123+
124+
### Publishing
125+
126+
```powershell
127+
dotnet publish -c Release -r win-x64 --self-contained false -o publish
128+
```
129+
130+
### Project Structure
131+
132+
- `Program.cs`: Core task management logic and data persistence
133+
- `UserInterface.cs`: Interactive menu and command-line argument handling
134+
- `install.ps1`: Automated installation and uninstallation script
135+
136+
## Technical Details
137+
138+
- **Language**: C#
139+
- **Framework**: .NET 9.0
140+
- **JSON Serialization**: Newtonsoft.Json
141+
- **Storage**: Local AppData directory
142+
- **Platform**: Windows (win-x64)
143+
144+
## License
145+
146+
This project is open source and available for personal and commercial use.
147+
148+
## Contributing
149+
150+
Contributions are welcome. Please fork the repository and submit pull requests for any improvements or bug fixes. This is practice for me and im still learning, so don't hesitate to point out flaws !

0 commit comments

Comments
 (0)