rbin-task-flow 1.0.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 ADDED
@@ -0,0 +1,381 @@
1
+ # RBIN Task Flow
2
+
3
+ <div align="center">
4
+
5
+ ![Claude](https://img.shields.io/badge/Claude-Sonnet%204.5-8A2BE2?style=for-the-badge&logo=anthropic&logoColor=white)
6
+ ![Gemini](https://img.shields.io/badge/Gemini-3%20Flash-4285F4?style=for-the-badge&logo=google&logoColor=white)
7
+ ![Cursor](https://img.shields.io/badge/Cursor-IDE-blue?style=for-the-badge&logo=visual-studio-code&logoColor=white)
8
+ ![Task Flow](https://img.shields.io/badge/Task%20Flow-AI%20Powered-green?style=for-the-badge)
9
+ ![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)
10
+ ![npm](https://img.shields.io/npm/v/rbin-task-flow?style=for-the-badge)
11
+
12
+ **One-command setup for Claude Code, Gemini, Cursor, and RBIN Task Flow in any project**
13
+
14
+ </div>
15
+
16
+ ---
17
+
18
+ ## Overview
19
+
20
+ A centralized repository of development configurations and rules that can be instantly installed in any project. Provides complete setup for Claude Code, Gemini, Cursor IDE, and RBIN Task Flow - a simple AI-powered task management system.
21
+
22
+ ### Key Features
23
+
24
+ - **NPM Global Installation** - Install once, use everywhere with `npm install -g rbin-task-flow`
25
+ - **Simple Task Management** - Define tasks in plain text, AI generates detailed subtasks
26
+ - **Multiple AI Models** - Claude Code Sonnet and Gemini 3 Flash configured and ready to use
27
+ - **Discrete .gitignore** - AI configs hidden with generic comments
28
+ - **Zero Configuration** - Ready to use immediately
29
+ - **RBIN Task Flow** - AI-powered task management with simple text interface
30
+
31
+ ## System Requirements
32
+
33
+ - **Operating System:** macOS, Linux, or Windows (WSL)
34
+ - **Tools:** Git, Bash, Node.js
35
+ - **Required:** Claude Code CLI, Gemini API access, or Cursor IDE (with Pro subscription)
36
+
37
+ ## Installation
38
+
39
+ ### Quick Start (NPM Global)
40
+
41
+ ```bash
42
+ # 1. Install globally via npm (one time only)
43
+ npm install -g rbin-task-flow
44
+
45
+ # 2. Go to any project and initialize
46
+ cd /path/to/your/project
47
+ rbin-task-flow init
48
+
49
+ # 3. Use AI commands
50
+ # Edit .task-flow/tasks.input.txt and use:
51
+ # - task-flow: sync
52
+ # - task-flow: run next X
53
+ # - task-flow: run task X
54
+ ```
55
+
56
+ **That's it!** RBIN Task Flow is now available globally on your system.
57
+
58
+ ### Alternative: Legacy Installation (Without NPM)
59
+
60
+ If you prefer the old method without npm:
61
+
62
+ ```bash
63
+ # 1. Clone this repository
64
+ git clone https://github.com/rubensdeoliveira/rbin-task-flow.git ~/.rbin-task-flow
65
+
66
+ # 2. Install in your project
67
+ ~/.rbin-task-flow/install.sh
68
+ # Enter your project path when prompted
69
+ ```
70
+
71
+ ### What Gets Installed
72
+
73
+ The script creates and configures:
74
+
75
+ ```
76
+ your-project/
77
+ ├── .cursor/
78
+ │ ├── rules/ # All development rules
79
+ │ │ ├── cursor_rules.mdc
80
+ │ │ ├── self_improve.mdc
81
+ │ │ ├── code_comments.mdc
82
+ │ │ ├── commit_practices.mdc
83
+ │ │ ├── git_control.mdc
84
+ │ │ └── task_execution.mdc
85
+ │ └── settings.json # Cursor model settings
86
+
87
+ ├── .claude/
88
+ │ └── settings.json # Claude Code settings
89
+
90
+ ├── .gemini/
91
+ │ └── settings.json # Gemini settings
92
+
93
+ ├── .task-flow/ # RBIN Task Flow
94
+ │ ├── tasks.input.txt # Plain text task definitions (edit this!)
95
+ │ ├── tasks.status.md # ⚠️ Task status (auto-updated, DO NOT EDIT)
96
+ │ └── .internal/ # ⚠️ Internal system files (ignore - auto-generated)
97
+ │ ├── tasks.json # Task definitions (auto)
98
+ │ └── status.json # Task status tracking (auto)
99
+
100
+ └── .gitignore # Updated with discrete entries
101
+ ```
102
+
103
+ ## Configuration
104
+
105
+ No additional configuration required! Just make sure you have:
106
+ - Claude Code CLI installed, OR
107
+ - Gemini API access configured, OR
108
+ - Cursor IDE with an active Pro subscription
109
+
110
+ **You're ready!**
111
+
112
+ ## Usage
113
+
114
+ ### RBIN Task Flow Commands
115
+
116
+ After installing globally, you can use these commands:
117
+
118
+ ```bash
119
+ # Initialize in current directory
120
+ rbin-task-flow init
121
+
122
+ # Update configurations
123
+ rbin-task-flow update
124
+
125
+ # Check for model version updates
126
+ rbin-task-flow version-check
127
+
128
+ # Show help information
129
+ rbin-task-flow info
130
+ ```
131
+
132
+ ### AI Commands
133
+
134
+ Once initialized in a project, use these AI commands:
135
+ - `task-flow: sync` - Sincronização completa: adiciona novas, remove removidas, atualiza modificadas, preserva status
136
+ - `task-flow: think` - Analisa código e sugere novas tasks
137
+ - `task-flow: run next X` - Trabalha nas próximas X subtasks sequenciais
138
+ - `task-flow: run task X` - Executa todas as subtasks pendentes da task X (só executa se tasks anteriores estiverem completas - permite trabalho paralelo)
139
+ - `task-flow: status` - Mostra status atual das tasks
140
+ - `task-flow: review` - Revisa tasks concluídas
141
+ - `task-flow: refactor` - Refatora código do commit atual
142
+
143
+ **Complete workflow:**
144
+
145
+ ```bash
146
+ # 1. Install globally (one time)
147
+ npm install -g rbin-task-flow
148
+
149
+ # 2. Initialize in your project
150
+ cd /path/to/my-project
151
+ rbin-task-flow init
152
+
153
+ # 3. Use AI commands:
154
+ # - Edit .task-flow/tasks.input.txt and use 'task-flow: sync' to generate
155
+ # - Use 'task-flow: run next X' to work on next X subtasks
156
+ # - Use 'task-flow: run task X' to work on all subtasks of task X
157
+ # - Use 'task-flow: status' to view progress
158
+ ```
159
+
160
+ **Key features:**
161
+ - ✅ **.task-flow/** directory is automatically **gitignored**
162
+ - ✅ Your task progress stays **local and private**
163
+ - ✅ Team members can use their own tasks without conflicts
164
+ - ✅ AI generates detailed, actionable subtasks from simple descriptions
165
+
166
+ ### Cursor Integration
167
+
168
+ Cursor is pre-configured with:
169
+ - Claude Sonnet 4.5 Pro as default model
170
+ - Custom settings
171
+ - RBIN Task Flow integration
172
+ - Development best practices
173
+
174
+ All rules are automatically active in Cursor. The IDE will:
175
+ - Follow coding standards from `.cursor/rules/`
176
+ - Integrate with RBIN Task Flow workflows
177
+ - Follow commit and git practices
178
+
179
+ ### Claude Code Integration
180
+
181
+ Claude Code is pre-configured with:
182
+ - Custom settings
183
+ - RBIN Task Flow integration
184
+ - Development best practices
185
+
186
+ ### Gemini Integration
187
+
188
+ Gemini is pre-configured with:
189
+ - Custom settings
190
+ - RBIN Task Flow integration
191
+ - Development best practices
192
+
193
+ ## What's Configured
194
+
195
+ ### Development Rules
196
+
197
+ Included rules for:
198
+ - Cursor rule formatting
199
+ - Self-improvement processes
200
+ - Code commenting standards
201
+ - Commit practices
202
+ - Git command control
203
+ - Task execution management
204
+
205
+ ### RBIN Task Flow
206
+
207
+ Simple yet powerful task management:
208
+ - **Plain Text Input**: Write tasks in `.task-flow/tasks.input.txt` using simple format
209
+ - **AI-Powered Generation**: Transforms simple tasks into detailed, actionable subtasks
210
+ - **Smart Instructions**: Each subtask includes context, objectives, implementation steps, and validation
211
+ - **Simple Tracking**: JSON-based status management with easy CLI commands
212
+ - **Progress Monitoring**: Clear visual feedback on task completion
213
+
214
+ ## Discrete .gitignore
215
+
216
+ The installer adds these entries to `.gitignore`:
217
+
218
+ ```gitignore
219
+ .claude/
220
+ .gemini/
221
+ .cursor/
222
+ .task-flow/
223
+ CLAUDE.md
224
+ GEMINI.md
225
+ ```
226
+
227
+ **Why discrete?**
228
+ - No comments explaining what they are
229
+ - No mention of "AI", "Claude", or "Anthropic"
230
+ - Everything related to RBIN Task Flow stays local
231
+ - Clean git history without AI tooling files
232
+
233
+ ## Updating Projects
234
+
235
+ To update configs in an existing project:
236
+
237
+ ```bash
238
+ # Using NPM (recommended)
239
+ cd /path/to/your/project
240
+ rbin-task-flow update
241
+
242
+ # Or using legacy method
243
+ ~/.rbin-task-flow/install.sh
244
+ # Enter the project path
245
+ ```
246
+
247
+ The installer will:
248
+ - ✅ Copy new rules (always overwrites)
249
+ - ✅ **Overwrite config files** (settings.json) with latest versions
250
+ - ✅ Update .gitignore if needed
251
+ - ✅ Update Task Flow scripts (always overwrites)
252
+ - ✅ **Preserve your data**: `.internal/tasks.json` and `.internal/status.json` are **NOT overwritten** (your tasks stay safe)
253
+
254
+ **Note**: The installer automatically adds `.task-flow/` to `.gitignore`, keeping your task progress private and out of version control.
255
+
256
+ ## Project Structure
257
+
258
+ This repository contains:
259
+
260
+ ```
261
+ rbin-task-flow/
262
+ ├── .cursor/
263
+ │ ├── settings.json # Cursor model settings
264
+ │ └── rules/ # All development rules
265
+
266
+ ├── .claude/
267
+ │ └── settings.json # Claude Code settings
268
+
269
+ ├── .gemini/
270
+ │ └── settings.json # Gemini settings
271
+
272
+ ├── .task-flow/
273
+ │ ├── README.md # Quick commands reference
274
+ │ ├── tasks.input.txt # Task definitions template
275
+ │ ├── tasks.status.md # ⚠️ Task status template (DO NOT EDIT manually)
276
+ │ └── .internal/ # ⚠️ Internal system files (ignore - auto-generated)
277
+ │ ├── tasks.json # Task definitions (auto)
278
+ │ └── status.json # Task status tracking (auto)
279
+
280
+ ├── .gitignore # Template gitignore
281
+ ├── .model-versions.json # Model version reference (update when new models are released)
282
+ ├── CLAUDE.md # Main Claude instructions
283
+ ├── GEMINI.md # Main Gemini instructions
284
+ ├── install.sh # Installation script
285
+ └── README.md # This file
286
+ ```
287
+
288
+ ## Important Notes
289
+
290
+ - ⚠️ This is a **template repository** - don't use RBIN Task Flow here
291
+ - ✅ Use RBIN Task Flow in **projects that receive** the configs via installation
292
+ - 🔄 Installer **always overwrites** existing configs
293
+ - 🤫 .gitignore entries are **discrete** (no AI mentions)
294
+ - 🎯 Works with **Claude Code CLI**, **Gemini API**, or **Cursor Pro**
295
+ - 📦 Task Flow directory (`.task-flow/`) is **automatically gitignored**
296
+ - 📝 Define tasks in `.task-flow/tasks.input.txt` using simple format: `- Task description`
297
+ - 🚀 **NPM Global Install**: `npm install -g rbin-task-flow`, then use `rbin-task-flow init` in any project
298
+ - 🔒 **API keys may be required** - depends on your AI provider (Claude Code, Gemini API, or Cursor Pro)
299
+ - 🔔 **Model version checking** - Use `rbin-task-flow version-check` to check for newer model versions (fast, local check)
300
+
301
+ ## Updating Model Versions
302
+
303
+ When new model versions are released, update `.model-versions.json` in this repository:
304
+
305
+ ```json
306
+ {
307
+ "claude": {
308
+ "current": "claude-sonnet-4-5-20250929",
309
+ "latest": "NEW_VERSION_HERE",
310
+ "checkUrl": "https://docs.anthropic.com/claude/docs/models-overview"
311
+ },
312
+ "cursor": {
313
+ "current": "claude-sonnet-4-5-20250929",
314
+ "latest": "NEW_VERSION_HERE",
315
+ "checkUrl": "https://docs.cursor.com/models"
316
+ },
317
+ "gemini": {
318
+ "current": "gemini-3-flash",
319
+ "latest": "NEW_VERSION_HERE",
320
+ "checkUrl": "https://ai.google.dev/models/gemini"
321
+ }
322
+ }
323
+ ```
324
+
325
+ The installer will automatically check for newer model versions and **ask you individually** if you want to update each one (Claude, Cursor, Gemini). This check is **fast and local** - no API calls, no network requests, just a simple string comparison.
326
+
327
+ **Interactive Updates:** When a newer version is available, the installer will:
328
+ - Show current and latest versions
329
+ - Ask: "Update [Model] to latest version? [y/N]"
330
+ - Update only if you confirm with `y`
331
+ - Skip if you press Enter or type `n`
332
+
333
+ **Important:** Model version updates work differently:
334
+
335
+ - **When installing in a target project** (passing a path):
336
+ - The installer **copies/replaces** files from the repository template to the target project
337
+ - **NO model update prompts** - just copies what's in the template
338
+ - Target project receives the current template versions
339
+
340
+ - **When running installer in the repository itself** (rbin-task-flow):
341
+ - If new model versions are detected, you can choose to update them
342
+ - Updates are applied **only to the repository template** files
343
+ - After updating the template, run installer on projects to apply the new versions
344
+
345
+ **Workflow:**
346
+ 1. Run installer on a project → copies current template files to project (no update prompts)
347
+ 2. To update repository template → run installer in the repository itself, choose to update
348
+ 3. Run installer again on projects → copies updated template files to projects
349
+
350
+ You have full control - model updates only happen in the repository template, not in target projects.
351
+
352
+ ## Contributing
353
+
354
+ Contributions welcome! To add new rules or improve templates:
355
+
356
+ 1. Fork this repository
357
+ 2. Create a feature branch
358
+ 3. Add your rules/templates following existing formats
359
+ 4. Test in a real project
360
+ 5. Submit a Pull Request
361
+
362
+ ## License
363
+
364
+ MIT License - See LICENSE file for details
365
+
366
+ ## Support
367
+
368
+ For issues or questions:
369
+ - Open an issue on GitHub
370
+ - Check existing issues for solutions
371
+ - Refer to CHANGELOG.md for recent updates
372
+
373
+ ---
374
+
375
+ <div align="center">
376
+
377
+ **Made with ❤️ for developers who love simple, AI-powered workflows**
378
+
379
+ [⬆ Back to top](#rbin-task-flow)
380
+
381
+ </div>
package/bin/cli.js ADDED
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { program } = require('commander');
4
+ const path = require('path');
5
+ const { installInProject } = require('../lib/install');
6
+ const { checkVersionUpdates } = require('../lib/version');
7
+ const chalk = require('chalk');
8
+
9
+ program
10
+ .name('rbin-task-flow')
11
+ .description('AI-powered task management for Claude, Cursor, and Gemini')
12
+ .version(require('../package.json').version);
13
+
14
+ program
15
+ .command('init')
16
+ .description('Initialize RBIN Task Flow in current directory')
17
+ .option('-p, --path <path>', 'Target directory (default: current directory)')
18
+ .action(async (options) => {
19
+ const targetPath = options.path || process.cwd();
20
+ await installInProject(targetPath);
21
+ });
22
+
23
+ program
24
+ .command('update')
25
+ .description('Update RBIN Task Flow in current directory')
26
+ .option('-p, --path <path>', 'Target directory (default: current directory)')
27
+ .action(async (options) => {
28
+ const targetPath = options.path || process.cwd();
29
+ await installInProject(targetPath, { update: true });
30
+ });
31
+
32
+ program
33
+ .command('version-check')
34
+ .description('Check for model version updates')
35
+ .action(async () => {
36
+ await checkVersionUpdates();
37
+ });
38
+
39
+ program
40
+ .command('info')
41
+ .description('Show information about RBIN Task Flow')
42
+ .action(() => {
43
+ console.log('\n' + chalk.cyan('╔════════════════════════════════════════════════════════════════╗'));
44
+ console.log(chalk.cyan('║') + ' ' + chalk.magenta('✨ RBIN Task Flow ✨') + ' ' + chalk.cyan('║'));
45
+ console.log(chalk.cyan('╚════════════════════════════════════════════════════════════════╝') + '\n');
46
+ console.log(chalk.blue('AI-powered task management for Claude, Cursor, and Gemini'));
47
+ console.log(chalk.yellow('\nVersion:'), require('../package.json').version);
48
+ console.log(chalk.yellow('Repository:'), 'https://github.com/rubensdeoliveira/rbin-task-flow');
49
+ console.log(chalk.yellow('\nCommands:'));
50
+ console.log(chalk.cyan(' rbin-task-flow init') + ' - Initialize in current directory');
51
+ console.log(chalk.cyan(' rbin-task-flow update') + ' - Update configurations');
52
+ console.log(chalk.cyan(' rbin-task-flow version-check') + ' - Check for model updates');
53
+ console.log(chalk.cyan(' rbin-task-flow info') + ' - Show this information\n');
54
+ });
55
+
56
+ program.parse();