nocodo icon indicating copy to clipboard operation
nocodo copied to clipboard

Work Management, git worktree, CI/CD per work

Open brainless opened this issue 4 months ago • 0 comments

I would like to improve work management capabilities in manager. This will need new models to store the schema changes for project management.

High level overview

Whenever user starts new Work, we create a Work, Message and Session in manager. Work should be broken into a list of Task that are related and need to be completed together. For example if we are working on a feature that needs work in backend, frontend and a mobile app, then we will divide the work into these 3. We would create a higher level Work: Implement full-stack feature blah blah, then 3 other Work: backend for blah blah and so on. Taking this example here are the high level points:

Work

  • Work has a title
  • Work has a list of related Task
  • Work is related to one or more Project
  • Work has multiple Message from users or from our LLM agent
  • Message may have associated AiSession if message needs to go to LLM agent (first message will automatically go to LLM agent, so it will have AiSession)
  • Response to a Message, from LLM agent or user will be stored in another Message
  • Message may have associated AiSessionResponse if this is a response from coding agent as we are saving currently
  • Work is associated with a list of Task items
  • Can link to other Work as depends_on, dependent_of
  • Work should have labels like backend, webapp, mobileapp, bug, etc.
  • Work has status, which is inferred from the status of tasks

Task

  • An item under Work that clearly specifies coding, documenting, design or similar work that is isolated
  • Task, when completed should have a commit message
  • Tasks have status - not_started, started, finished

Git workflow

  • Ideally commit after completing each Task

Automation

  • These are CI tasks that are automatically managed by the manager and executed for each commit
  • For each Task in Work: Check if there is Automation for code format, lint, running builds and tests
  • Workflows should be created if they do not exist: a simple
  • The task would mention files in CI/CD workflows and not create new workflows
  • manager should run tasks from CI/CD workflows directly on the host computer if they can be run (which is a Linux computer) if they can be run on a Linux computer

Work and Project

  • A Feature or bug related to a Project can be worked on in our existing Work model
  • Work model needs to have branch and path for Project and each Component in the Project (depending on if all Components are in a single mono-repository), we can keep this information in the relationship tables between [Work and Project] and/or [Work and Component]

brainless avatar Aug 27 '25 07:08 brainless