nocodo
nocodo copied to clipboard
Work Management, git worktree, CI/CD per work
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
Workhas a title- Work has a list of related
Task - Work is related to one or more
Project Workhas multipleMessagefrom users or from our LLM agent- Message may have associated
AiSessionif message needs to go to LLM agent (first message will automatically go to LLM agent, so it will haveAiSession) - Response to a
Message, from LLM agent or user will be stored in anotherMessage - Message may have associated
AiSessionResponseif this is a response from coding agent as we are saving currently - Work is associated with a list of
Taskitems - Can link to other
Workasdepends_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
TaskinWork: 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
Workmodel Workmodel 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]