epoch-tui 0.1.10 → 0.2.0
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/README.md +50 -1
- package/dist/index.js +1495 -1766
- package/package.json +31 -3
package/README.md
CHANGED
|
@@ -17,6 +17,7 @@ Epoch is a modern, terminal-based task logger and time tracker built with TypeSc
|
|
|
17
17
|
## Installation & Running
|
|
18
18
|
|
|
19
19
|
### Prerequisites
|
|
20
|
+
|
|
20
21
|
- Node.js (v16+ recommended)
|
|
21
22
|
- pnpm
|
|
22
23
|
|
|
@@ -39,18 +40,21 @@ pnpm start
|
|
|
39
40
|
Epoch is designed to be used entirely without a mouse.
|
|
40
41
|
|
|
41
42
|
### Global Navigation
|
|
43
|
+
|
|
42
44
|
- `1` / `2` / `3`: Switch directly to Calendar / Tasks / Timeline panes
|
|
43
45
|
- `Tab` / `Shift+Tab`: Cycle through panes
|
|
44
46
|
- `?`: Toggle help dialog
|
|
45
47
|
- `q`: Quit application
|
|
46
48
|
|
|
47
49
|
### Calendar Pane
|
|
50
|
+
|
|
48
51
|
- `j` / `k` (or `↓` / `↑`): Navigate weeks
|
|
49
52
|
- `h` / `l` (or `←` / `→`): Navigate days
|
|
50
53
|
- `n` / `p`: Next / Previous month
|
|
51
54
|
- `Enter`: Select date
|
|
52
55
|
|
|
53
56
|
### Tasks Pane
|
|
57
|
+
|
|
54
58
|
- `a`: Add new task
|
|
55
59
|
- `e`: Edit task title
|
|
56
60
|
- `d`: Delete task
|
|
@@ -63,6 +67,7 @@ Epoch is designed to be used entirely without a mouse.
|
|
|
63
67
|
- `Enter`: Expand/Collapse subtasks
|
|
64
68
|
|
|
65
69
|
### Timeline Pane
|
|
70
|
+
|
|
66
71
|
- `j` / `k`: Scroll through activity history
|
|
67
72
|
- `t`: Toggle theme (Dark/Light)
|
|
68
73
|
|
|
@@ -82,7 +87,51 @@ Your data is stored locally in a human-readable JSON file. This allows for easy
|
|
|
82
87
|
- **Date Handling**: date-fns
|
|
83
88
|
- **Persistence**: File System (JSON)
|
|
84
89
|
|
|
90
|
+
## Development & Code Quality
|
|
91
|
+
|
|
92
|
+
### Testing
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
pnpm test # Run tests
|
|
96
|
+
pnpm test:coverage # Run tests with coverage report
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Code Formatting
|
|
100
|
+
|
|
101
|
+
Code is automatically formatted with Prettier on every commit.
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
pnpm format # Format all files
|
|
105
|
+
pnpm format:check # Check formatting without modifying files
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Local SonarQube Analysis
|
|
109
|
+
|
|
110
|
+
This project uses SonarQube for local code quality analysis (runs in pre-commit hook).
|
|
111
|
+
|
|
112
|
+
**To run SonarQube locally:**
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# Start SonarQube server (Docker)
|
|
116
|
+
docker run -d -p 9000:9000 --name sonarqube sonarqube
|
|
117
|
+
|
|
118
|
+
# Initialize server at http://localhost:9000 (admin/admin)
|
|
119
|
+
# Create a new project and generate a token
|
|
120
|
+
|
|
121
|
+
# Add token to environment
|
|
122
|
+
export SONAR_TOKEN=your_token_here
|
|
123
|
+
|
|
124
|
+
# Run analysis
|
|
125
|
+
pnpm sonar
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Pre-commit Hook:**
|
|
129
|
+
|
|
130
|
+
- Runs `lint-staged` to format staged files with Prettier
|
|
131
|
+
- Attempts to run SonarQube scanner (non-blocking if server unavailable)
|
|
132
|
+
|
|
133
|
+
Configuration: See `sonar-project.properties`
|
|
134
|
+
|
|
85
135
|
## Author
|
|
86
136
|
|
|
87
137
|
Created by [Akshat Dubey](mailto:akshatdubey0808@gmail.com).
|
|
88
|
-
|