chiron 0.1.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.
@@ -0,0 +1,65 @@
1
+ # Generating a Task List from a PRD
2
+
3
+ ## Goal
4
+
5
+ To create a detailed, step-by-step task list in Markdown format based on an existing Product Requirements Document (PRD). The task list should guide a developer through implementation.
6
+
7
+ ## Output
8
+
9
+ - **Format:** Markdown (`.md`)
10
+ - **Location:** `/tasks/`
11
+ - **Filename:** `tasks-[prd-file-name].md` (e.g., `tasks-prd-user-profile-editing.md`)
12
+
13
+ ## Process
14
+
15
+ 1. **Receive PRD Reference:** The user points you to a specific PRD file
16
+ 2. **Analyze PRD:** Read and analyze the functional requirements, user stories, and other sections of the specified PRD.
17
+ 3. **Phase 1: Generate Parent Tasks:** Based on the PRD analysis, create the file and generate the main, high-level tasks required to implement the feature. Use your judgement on how many high-level tasks to use. It's likely to be about 5. Present these tasks to the user in the specified format (without sub-tasks yet). Inform the user: "I have generated the high-level tasks based on the PRD. Ready to generate the sub-tasks? Respond with 'Go' to proceed."
18
+ 4. **Wait for Confirmation:** Pause and wait for the user to respond with "Go".
19
+ 5. **Phase 2: Generate Sub-Tasks:** Once the user confirms, break down each parent task into smaller, actionable sub-tasks necessary to complete the parent task. Ensure sub-tasks logically follow from the parent task and cover the implementation details implied by the PRD.
20
+ 6. **Identify Relevant Files:** Based on the tasks and PRD, identify potential files that will need to be created or modified. List these under the `Relevant Files` section, including corresponding test files if applicable.
21
+ 7. **Generate Final Output:** Combine the parent tasks, sub-tasks, relevant files, and notes into the final Markdown structure.
22
+ 8. **Save Task List:** Save the generated document in the `/tasks/` directory.
23
+
24
+ ## Output Format
25
+
26
+ The generated task list _must_ follow this structure:
27
+
28
+ ```markdown
29
+ ## Relevant Files
30
+
31
+ - `path/to/potential/file1.rb` - Brief description of why this file is relevant
32
+ - `spec/path/to/file1_spec.rb` - Unit tests for file1
33
+ - `app/controllers/example_controller.rb` - Controller for handling requests
34
+ - `spec/requests/example_spec.rb` - Request specs for controller
35
+
36
+ ### Notes
37
+
38
+ - Write tests before implementation (TDD approach)
39
+ - Run `bin/rspec` to execute tests
40
+ - Use `bin/rubocop --autocorrect` after implementation
41
+
42
+ ## Tasks
43
+
44
+ - [ ] 1.0 Parent Task Title
45
+ - [ ] 1.1 [Sub-task description 1.1]
46
+ - [ ] 1.2 [Sub-task description 1.2]
47
+ - [ ] 2.0 Parent Task Title
48
+ - [ ] 2.1 [Sub-task description 2.1]
49
+ - [ ] 3.0 Parent Task Title (may not require sub-tasks if purely structural or configuration)
50
+ ```
51
+
52
+ ## Interaction Model
53
+
54
+ The process explicitly requires a pause after generating parent tasks to get user confirmation ("Go") before proceeding to generate the detailed sub-tasks. This ensures the high-level plan aligns with user expectations before diving into details.
55
+
56
+ ## Target Audience
57
+
58
+ Assume the primary reader of the task list is a **junior developer** who will implement the feature.
59
+
60
+ ## Important Notes
61
+
62
+ - Include estimated time for complex tasks
63
+ - Note dependencies between tasks
64
+ - Mark critical path items
65
+ - Update development journal after task completion
@@ -0,0 +1,84 @@
1
+ # Processing Task Lists
2
+
3
+ ## Goal
4
+
5
+ To systematically work through task lists created from PRDs, ensuring proper implementation, testing, and documentation.
6
+
7
+ ## Process
8
+
9
+ 1. **Load Task List:** Read the relevant `tasks-*.md` file
10
+ 2. **Review Parent Tasks:** Understand the overall implementation plan
11
+ 3. **Select Next Task:** Choose the next uncompleted task in logical order
12
+ 4. **Mark In Progress:** Update task checkbox to indicate work has started
13
+ 5. **Implement:** Write code following TDD principles
14
+ 6. **Test:** Ensure all tests pass
15
+ 7. **Quality Check:** Run RuboCop and fix violations
16
+ 8. **Mark Complete:** Update task checkbox when done
17
+ 9. **Journal Entry:** Add development journal entry for significant work
18
+ 10. **Repeat:** Continue with next task
19
+
20
+ ## Task Status Indicators
21
+
22
+ - `[ ]` - Not started
23
+ - `[~]` - In progress (manually update)
24
+ - `[x]` - Completed
25
+ - `[!]` - Blocked (add note explaining blockage)
26
+
27
+ ## Best Practices
28
+
29
+ ### Before Starting a Task
30
+ - Review related PRD section
31
+ - Check for dependencies on other tasks
32
+ - Ensure test environment is ready
33
+ - Pull latest changes from main branch
34
+
35
+ ### During Implementation
36
+ - Write tests first (TDD)
37
+ - Commit frequently with clear messages
38
+ - Update task status as you work
39
+ - Note any discoveries or issues
40
+
41
+ ### After Completing a Task
42
+ - Run full test suite
43
+ - Check code quality with RuboCop
44
+ - Update task list with completion
45
+ - Add journal entry if significant
46
+ - Consider creating follow-up tasks
47
+
48
+ ## Common Patterns
49
+
50
+ ### Feature Implementation
51
+ 1. Create model/migration
52
+ 2. Write model specs
53
+ 3. Implement model logic
54
+ 4. Create controller
55
+ 5. Write request specs
56
+ 6. Implement controller actions
57
+ 7. Create views/components
58
+ 8. Add system tests
59
+ 9. Style with TailwindCSS
60
+ 10. Add Stimulus controllers
61
+
62
+ ### Bug Fixes
63
+ 1. Reproduce the issue
64
+ 2. Write failing test
65
+ 3. Implement fix
66
+ 4. Verify test passes
67
+ 5. Check for regressions
68
+ 6. Update documentation
69
+
70
+ ## Task Dependencies
71
+
72
+ When tasks have dependencies:
73
+ - Note dependency in task description
74
+ - Complete prerequisite tasks first
75
+ - Update dependent tasks if scope changes
76
+ - Communicate blockers in journal
77
+
78
+ ## Progress Tracking
79
+
80
+ - Update task status immediately
81
+ - Add time estimates and actuals
82
+ - Note any scope changes
83
+ - Track blockers and resolutions
84
+ - Regular status updates in journal
@@ -0,0 +1,80 @@
1
+ # <%= @project_name %> Development Journal
2
+
3
+ This journal tracks significant development work, bug fixes, and feature implementations for <%= @project_name %>.
4
+
5
+ ## Recent Contributors (Last 30 Days)
6
+ - **[Your Name]**: Project owner, initial setup
7
+ - **Claude Code**: AI-assisted development
8
+
9
+ ## Active Branches & Ownership
10
+ - `main`: Stable branch for production releases
11
+ - `[feature-branch]`: [Developer Name] - [Feature description]
12
+
13
+ ---
14
+
15
+ ## <%= Date.today.strftime('%Y-%m-%d') %> - Initial Setup
16
+ **Developer(s)**: [Your Name] & Claude Code | **Context**: Project initialization
17
+
18
+ ### What Was Done
19
+ - Initialized Rails <%= Rails.version rescue "8.0.2" %> application
20
+ - Set up Claude workflow with claude-rails-setup gem
21
+ - Created initial project structure
22
+ - Configured development environment
23
+
24
+ ### Why It Was Done
25
+ - Starting new Rails project with AI-assisted development workflow
26
+ - Establishing consistent development patterns from the beginning
27
+ - Setting up for collaborative development
28
+
29
+ ### Technical Details
30
+ - Rails <%= Rails.version rescue "8.0.2" %> with PostgreSQL database
31
+ - Hotwire (Turbo + Stimulus) for frontend interactivity
32
+ - TailwindCSS for styling
33
+ - RSpec for testing framework
34
+ - Claude AI workflow integration
35
+
36
+ ### Results
37
+ - ✅ Rails application created and running
38
+ - ✅ Claude workflow initialized with commands and templates
39
+ - ✅ Development journal started
40
+ - ✅ Git repository initialized
41
+
42
+ ### Next Steps
43
+ - Configure database and run initial migrations
44
+ - Set up continuous integration
45
+ - Implement initial models based on requirements
46
+ - Create first PRD for core functionality
47
+
48
+ ---
49
+
50
+ <!--
51
+ Journal Entry Template - Copy for new entries:
52
+
53
+ ## [YYYY-MM-DD] - [Brief Summary Title]
54
+ **Developer(s)**: [Name] | **Context**: [How work was initiated]
55
+
56
+ ### What Was Done
57
+ - [Specific actions taken]
58
+ - [Files modified with line numbers]
59
+ - [Commands run]
60
+
61
+ ### Why It Was Done
62
+ - [Problem being solved]
63
+ - [User need addressed]
64
+
65
+ ### Technical Details
66
+ - [Key implementation details]
67
+ - [Architecture decisions]
68
+ - [Testing approach]
69
+
70
+ ### Results
71
+ - [What works now]
72
+ - [Test results]
73
+ - [Performance impacts]
74
+
75
+ ### Next Steps (if applicable)
76
+ - [Follow-up tasks]
77
+ - [Known issues]
78
+
79
+ ---
80
+ -->
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chiron
4
+ VERSION = '0.1.0'
5
+ end
data/lib/chiron.rb ADDED
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'chiron/version'
4
+ require_relative 'chiron/cli'
5
+
6
+ module Chiron
7
+ class Error < StandardError; end
8
+
9
+ def self.root
10
+ File.expand_path('..', __dir__)
11
+ end
12
+
13
+ def self.templates_path
14
+ File.join(root, 'lib', 'chiron', 'templates')
15
+ end
16
+ end
metadata ADDED
@@ -0,0 +1,174 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: chiron
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Brett McHargue
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 2025-07-01 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: colorize
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '1.1'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.1'
26
+ - !ruby/object:Gem::Dependency
27
+ name: thor
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.3'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.3'
40
+ - !ruby/object:Gem::Dependency
41
+ name: tty-prompt
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.23'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0.23'
54
+ - !ruby/object:Gem::Dependency
55
+ name: bundler
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.0'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '2.0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: rake
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '13.0'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '13.0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: rspec
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '3.0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: rubocop
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.21'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.21'
110
+ description: A Ruby gem that sets up Claude AI development workflows, PRD templates,
111
+ and journaling system for Rails projects
112
+ email:
113
+ - ebrett@users.noreply.github.com
114
+ executables:
115
+ - chiron
116
+ extensions: []
117
+ extra_rdoc_files: []
118
+ files:
119
+ - ".rspec"
120
+ - ".rspec_status"
121
+ - ".rubocop.yml"
122
+ - CHANGELOG.md
123
+ - CLAUDE.md
124
+ - Gemfile
125
+ - Gemfile.lock
126
+ - LICENSE
127
+ - README.md
128
+ - Rakefile
129
+ - docs/development_journal.md
130
+ - exe/chiron
131
+ - lib/chiron.rb
132
+ - lib/chiron/cli.rb
133
+ - lib/chiron/templates/CLAUDE.md.erb
134
+ - lib/chiron/templates/claude/settings.json
135
+ - lib/chiron/templates/commands/context/catchup.md
136
+ - lib/chiron/templates/commands/context/prime.md
137
+ - lib/chiron/templates/commands/context/quickstart.md
138
+ - lib/chiron/templates/commands/conventions/rails.md
139
+ - lib/chiron/templates/commands/journal/instructions.md
140
+ - lib/chiron/templates/commands/journal/template.md
141
+ - lib/chiron/templates/commands/quality/pre-commit.md
142
+ - lib/chiron/templates/commands/quality/test-driven.md
143
+ - lib/chiron/templates/commands/workflows/create-prd.md
144
+ - lib/chiron/templates/commands/workflows/feature-complete.md
145
+ - lib/chiron/templates/commands/workflows/generate-tasks.md
146
+ - lib/chiron/templates/commands/workflows/process-tasks.md
147
+ - lib/chiron/templates/development_journal.md.erb
148
+ - lib/chiron/version.rb
149
+ homepage: https://github.com/ebrett/chiron
150
+ licenses:
151
+ - MIT
152
+ metadata:
153
+ homepage_uri: https://github.com/ebrett/chiron
154
+ source_code_uri: https://github.com/ebrett/chiron
155
+ changelog_uri: https://github.com/ebrett/chiron/blob/main/CHANGELOG.md
156
+ rubygems_mfa_required: 'true'
157
+ rdoc_options: []
158
+ require_paths:
159
+ - lib
160
+ required_ruby_version: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: 3.0.0
165
+ required_rubygems_version: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ requirements: []
171
+ rubygems_version: 3.6.2
172
+ specification_version: 4
173
+ summary: Initialize Claude AI workflow for Rails projects
174
+ test_files: []