Module: TrakFlow
- Defined in:
- lib/trak_flow.rb,
lib/trak_flow/cli.rb,
lib/trak_flow/config.rb,
lib/trak_flow/version.rb,
lib/trak_flow/mcp/server.rb,
lib/trak_flow/models/task.rb,
lib/trak_flow/time_parser.rb,
lib/trak_flow/id_generator.rb,
lib/trak_flow/models/label.rb,
lib/trak_flow/storage/jsonl.rb,
lib/trak_flow/config/section.rb,
lib/trak_flow/models/comment.rb,
lib/trak_flow/cli/dep_commands.rb,
lib/trak_flow/storage/database.rb,
lib/trak_flow/cli/main_commands.rb,
lib/trak_flow/cli/plan_commands.rb,
lib/trak_flow/mcp/tools/dep_add.rb,
lib/trak_flow/models/dependency.rb,
lib/trak_flow/cli/admin_commands.rb,
lib/trak_flow/cli/label_commands.rb,
lib/trak_flow/mcp/tools/plan_run.rb,
lib/trak_flow/cli/config_commands.rb,
lib/trak_flow/mcp/tools/base_tool.rb,
lib/trak_flow/mcp/tools/label_add.rb,
lib/trak_flow/mcp/tools/dep_remove.rb,
lib/trak_flow/mcp/tools/plan_start.rb,
lib/trak_flow/mcp/tools/task_block.rb,
lib/trak_flow/mcp/tools/task_close.rb,
lib/trak_flow/mcp/tools/task_defer.rb,
lib/trak_flow/mcp/tools/task_start.rb,
lib/trak_flow/cli/workflow_commands.rb,
lib/trak_flow/mcp/tools/comment_add.rb,
lib/trak_flow/mcp/tools/plan_create.rb,
lib/trak_flow/mcp/tools/task_create.rb,
lib/trak_flow/mcp/tools/task_update.rb,
lib/trak_flow/graph/dependency_graph.rb,
lib/trak_flow/mcp/tools/label_remove.rb,
lib/trak_flow/mcp/resources/plan_list.rb,
lib/trak_flow/mcp/resources/task_list.rb,
lib/trak_flow/mcp/resources/task_next.rb,
lib/trak_flow/mcp/tools/plan_add_step.rb,
lib/trak_flow/mcp/resources/label_list.rb,
lib/trak_flow/mcp/resources/plan_by_id.rb,
lib/trak_flow/mcp/resources/task_by_id.rb,
lib/trak_flow/mcp/tools/workflow_discard.rb,
lib/trak_flow/mcp/resources/base_resource.rb,
lib/trak_flow/mcp/resources/workflow_list.rb,
lib/trak_flow/mcp/resources/workflow_by_id.rb,
lib/trak_flow/mcp/tools/workflow_summarize.rb,
lib/trak_flow/mcp/resources/dependency_graph.rb
Defined Under Namespace
Modules: Graph, Mcp, Models, Storage, TimeParser
Classes: CLI, Config, ConfigSection, ConfigurationError, DependencyCycleError, Error, IdGenerator, NotInitializedError, TaskNotFoundError, ValidationError
Constant Summary
collapse
- TRAK_FLOW_DIR =
".trak_flow"
- DATABASE_FILE =
"trak_flow.db"
- JSONL_FILE =
Default, can be overridden via config.storage.jsonl_file
"tasks.jsonl"
- CONFIG_FILE =
"config.yml"
- STATUSES =
%w[open in_progress blocked deferred closed tombstone pinned].freeze
- PRIORITIES =
(0..4).to_a.freeze
- TYPES =
%w[bug feature task epic chore].freeze
- DEPENDENCY_TYPES =
%w[blocks related parent-child discovered-from].freeze
- VERSION =
'0.2.0'
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
249
250
251
|
# File 'lib/trak_flow/config.rb', line 249
def config
@config ||= Config.new
end
|
.config_path ⇒ Object
55
56
57
|
# File 'lib/trak_flow.rb', line 55
def config_path
File.join(trak_flow_dir, CONFIG_FILE)
end
|
253
254
255
256
|
# File 'lib/trak_flow/config.rb', line 253
def configure
yield(config) if block_given?
config
end
|
.database_path ⇒ Object
45
46
47
48
|
# File 'lib/trak_flow.rb', line 45
def database_path
path = config.database.path
File.expand_path(path)
end
|
.ensure_initialized! ⇒ Object
63
64
65
|
# File 'lib/trak_flow.rb', line 63
def ensure_initialized!
raise NotInitializedError, "TrakFlow not initialized. Run 'tf init' first." unless initialized?
end
|
.initialized? ⇒ Boolean
59
60
61
|
# File 'lib/trak_flow.rb', line 59
def initialized?
File.directory?(trak_flow_dir) && File.exist?(database_path)
end
|
.jsonl_path ⇒ Object
50
51
52
53
|
# File 'lib/trak_flow.rb', line 50
def jsonl_path
jsonl_file = config.storage.jsonl_file rescue JSONL_FILE
File.join(trak_flow_dir, jsonl_file)
end
|
.reset_config! ⇒ Object
258
259
260
|
# File 'lib/trak_flow/config.rb', line 258
def reset_config!
@config = nil
end
|
.reset_root! ⇒ Object
67
68
69
|
# File 'lib/trak_flow.rb', line 67
def reset_root!
@root = nil
end
|
.root ⇒ Object
37
38
39
|
# File 'lib/trak_flow.rb', line 37
def root
@root ||= find_root
end
|
.trak_flow_dir ⇒ Object
41
42
43
|
# File 'lib/trak_flow.rb', line 41
def trak_flow_dir
File.join(root, TRAK_FLOW_DIR)
end
|