|
12 | 12 | - [[AI/Coding/v0/File/1-TICKET-repomix.config.json]] |
13 | 13 | - [[AI/Coding/v0/File/2-TICKET-technical-specification.md]] |
14 | 14 | - [[AI/Coding/v0/File/3-TICKET-staged-implementation-plan.md]] |
15 | | - - [[AI/Coding/v0/File/6-TICKET-staged-implementation-checklist.md]] |
16 | | - - [[AI/Coding/v0/File/6-TICKET-qa-todo.md]] |
| 15 | + - [[AI/Coding/v0/File/4-TICKET-staged-implementation-checklist.md]] |
| 16 | + - [[AI/Coding/v0/File/5-TICKET-qa-todo.md]] |
17 | 17 | - [[AI/Coding/v0/File/6-TICKET-qa-summary.md]] |
18 | 18 | - [[AI/Coding/v0/File/7-TICKET-mr-summary.md]] |
19 | 19 | - [[AI/Coding/v0/File/8-TICKET-mr-handoff.md]] |
20 | 20 | - ## Phases and their [[Intermediate Packets]] AKA output files |
21 | 21 | - ### [[AI/Coding/v0/Phase/0 - Preparation]] |
22 | 22 | id:: 67c2d185-4821-4b6f-80f9-51b05cdb859e |
23 | | - - Before beginning work it is a good idea to prepare the coding environment for AI coding. This includes but is not limited to: |
| 23 | + - Following [[mise-en-place]] from the culinary world, before beginning work it is important to prepare the environment for working efficiently. |
| 24 | + - This is the only phase that isn't strongly tied to the ticket, and the files it impacts are not scoped to the ticket or stored in the `/.ai-coding/TICKET-feature-name/` directory. |
| 25 | + - #### Phase Activities |
24 | 26 | - downloading the repository |
25 | 27 | - setting up the IDE |
26 | 28 | - ensuring that [[Prompts]] for [[AI Coding]] are configured and accessible |
27 | 29 | - [[CursorAI/Project Rules]] |
28 | 30 | - [[CursorAI/Project Rule/cursor-project-rule-editor.mdc]] |
29 | | - - descriptions of the context of |
| 31 | + - when to suggest an update to a cursor rule |
| 32 | + - descriptions of the coding context |
30 | 33 | - the repository |
31 | 34 | - directory structure |
32 | | - - purpose |
33 | | - - coding conventions |
34 | | - - git commit format |
35 | | - - when to commit |
36 | | - - when to suggest an update to a cursor rule |
| 35 | + - purpose of the project |
| 36 | + - coding conventions |
| 37 | + - git commit format |
| 38 | + - when to commit |
| 39 | + - which [[Package Managers]] to use |
| 40 | + - Project Rules from other git submodules |
| 41 | + - Configuring a #[[Dev Container]] |
37 | 42 | - provisioning API tokens, populating [[EnvVar]]s |
38 | | - - configuring shell |
| 43 | + - consider provisioning a fine-grained `GH_TOKEN` for the AI to interact with the #gh CLI |
| 44 | + - configuring the shell |
39 | 45 | - consider setting [[git/Config/core.pager]] to use [[cat]]; see also [[AI/Coding/Tip/Avoid Non-Interactive CLI Commands When Defining AI Tools]] |
40 | 46 | id:: 67c2d285-e4ca-448a-96bf-e76c70111882 |
41 | 47 | - ensuring [[CLI Tools]] are available and configured |
42 | 48 | - #Repomix |
43 | 49 | - #llm-cli |
| 50 | + - #mise |
| 51 | + - #[[Package Managers]] |
| 52 | + - #[[MCP Servers]] |
| 53 | + - #Docker |
| 54 | + - #### Link in any [[Knowledge Bases]] for [[AI/Coding/Technique/Knowledge Base]] |
| 55 | + - For example, a [[Logseq]] or [[Obsidian]] flat-file database of documentation could be symlinked to `.ai-coding/knowledge` if it is contained outside. |
| 56 | + - #### Link in any personal coding [[Knowledge Gardens]] that the AI should be able to access #[[AI Technique - Link in a Personal Knowledge Base]] |
| 57 | + - In time, a [[Coder]]'s Knowledge Garden may become an important supplement to the AI coding process. The accumulated knowledge should be able to be instrumented so as to be available in any repository so the AI can make use of it. Consider using [[git/.gitignore]] so as to keep the agent from committing it to the repo. This way a coder's central knowledge garden can be utilized across multiple projects. |
| 58 | + - #### Use an [[AI Interviewer]] to conduct [[AI/Coding/Technique/Project Onboarding Interview]] |
| 59 | + - The purpose of this type of interview is to onboard the human into AI programming in the current project and guide the human to help them complete [[AI/Coding/v0/Phase/0 - Preparation]]. |
| 60 | + - #### Phase Files and Directories |
| 61 | + - [[CursorAI/Project Rules]] |
| 62 | + - a file that explains the repository's directory structure |
| 63 | + - a file that explains the high level project context |
| 64 | + - files that explain coding conventions |
| 65 | + - a file that explains git commit conventions |
| 66 | + - a file that explains <language> conventions, for example, python conventions |
| 67 | + - package management |
| 68 | + - coding preferences |
44 | 69 | - ### [[AI/Coding/v0/Phase/1 - Gather Materials]] |
45 | | - - **Output:** [[AI/Coding/v0/File/1-TICKET-original-issue.md]] - Original ticket details and high-level #AC |
46 | | - - this is for [[Project/Management]] stakeholders and likely doesn't have the detail needed for implementation |
47 | | - - pulled in from a tool like [[JIRA/CLI]], [[GitHub/CLI]], [[Gitlab/CLI]] if not using a tool like [[GitHub/MCP]] |
48 | | - - **Output:** [[AI/Coding/v0/File/1-TICKET-repomix.config.json]] - defines issue-related repository paths for [[Repomix]] |
49 | | - - used to gather repo context for external tools like [[ChatGPT]] or [[Claude/Desktop]] |
50 | | - - **Output:** [[AI/Coding/v0/File/1-TICKET-repo-context.txt]] - Contains the repo context sent to an external LLM in the next step. |
51 | | - - Should be put in [[git/.gitignore]] and considered a temporary, transitory, runtime artifact of the process |
52 | | - - Unlike the other files, this should probably not be inside of the `/.ai-coding/TICKET-feature-name/` directory, as the file may be quite large, and there's little value in retaining separate context for separate tickets over time. |
| 70 | + - #### Phase Files |
| 71 | + - **Output:** [[AI/Coding/v0/File/1-TICKET-original-issue.md]] - Original ticket details and high-level #AC |
| 72 | + - this is for [[Project/Management]] stakeholders and likely doesn't have the detail needed for implementation |
| 73 | + - pulled in from a tool like [[JIRA/CLI]], [[GitHub/CLI]], [[Gitlab/CLI]] if not using a tool like [[GitHub/MCP]] |
| 74 | + - **Output:** [[AI/Coding/v0/File/1-TICKET-repomix.config.json]] - defines issue-related repository paths for [[Repomix]] |
| 75 | + - used to gather repo context for external tools like [[ChatGPT]] or [[Claude/Desktop]] |
| 76 | + - **Output:** [[AI/Coding/v0/File/1-TICKET-repo-context.txt]] - Contains the repo context sent to an external LLM in the next step. |
| 77 | + - Should be put in [[git/.gitignore]] and considered a temporary, transitory, runtime artifact of the process |
| 78 | + - Unlike the other files, this should probably not be inside of the `/.ai-coding/TICKET-feature-name/` directory, as the file may be quite large, and there's little value in retaining separate context for separate tickets over time. |
53 | 79 | - ### [[AI/Coding/v0/Phase/2 - Requirements Interview]] |
54 | | - - **Output:** [[AI/Coding/v0/File/2-TICKET-technical-specification.md]] - Detailed technical requirements, data models, [[Acceptance Criteria]], and architecture decisions |
| 80 | + - This is a type of [[AI/Coding/Interview]] (see also #Interview and [[AI/LLM/Technique/AI Interviewer]] ) |
| 81 | + - #### Phase Files |
| 82 | + - **Output:** [[AI/Coding/v0/File/2-TICKET-technical-specification.md]] - Detailed technical requirements, data models, [[Acceptance Criteria]], and architecture decisions |
55 | 83 | - ### [[AI/Coding/v0/Phase/3 - Implementation Plan]] |
56 | | - - **Output:** [[AI/Coding/v0/File/3-TICKET-staged-implementation-plan.md]] - Step-by-step implementation guide for AI implementation. |
57 | | - - Contains AI prompts broken down into **Stages**, *each* of which |
58 | | - - chunk the work into a single logical commit |
59 | | - - builds on previous work |
60 | | - - contains a step-by-step implementation guide |
61 | | - - includes its own validation steps |
62 | | - - Enforces commit discipline in a way specific to the ticket, for example, by adding the issue number into the commit |
| 84 | + - #### Phase Files |
| 85 | + - **Output:** [[AI/Coding/v0/File/3-TICKET-staged-implementation-plan.md]] - Step-by-step implementation guide for AI implementation. |
| 86 | + - Contains AI prompts broken down into **Stages**, *each* of which |
| 87 | + - chunk the work into a single logical commit |
| 88 | + - builds on previous work |
| 89 | + - contains a step-by-step implementation guide |
| 90 | + - includes its own validation steps |
| 91 | + - Enforces commit discipline in a way specific to the ticket, for example, by adding the issue number into the commit |
63 | 92 | - ### [[AI/Coding/v0/Phase/4 - Implementation Checklist]] |
64 | | - - **Output:** [[AI/Coding/v0/File/6-TICKET-staged-implementation-checklist.md]] - Granular checklist of all required tasks organized by implementation phase, grouped into a single logical commit with a summary commit message |
65 | | - - While not strictly enforced, ideally the commit history should roughly match the stages in this checklist |
| 93 | + - #### Phase Files |
| 94 | + - **Output:** [[AI/Coding/v0/File/4-TICKET-staged-implementation-checklist.md]] - Granular checklist of all required tasks organized by implementation phase, grouped into a single logical commit with a summary commit message |
| 95 | + - While not strictly enforced, ideally the commit history should roughly match the stages in this checklist |
66 | 96 | - ### [[AI/Coding/v0/Phase/5 - Implementation]] |
67 | | - - **Update:** Each iteration updates a single **Stage** in [[AI/Coding/v0/File/6-TICKET-staged-implementation-checklist.md]] **Stage**, checking off the todos for that stage, and ends with a commit |
68 | | - - **Output:** [[AI/Coding/v0/File/6-TICKET-qa-todo.md]] - This is a [[QA/Test Plan]] checklist, with both human and AI todo items, including automated testing, manual verification, code coverage, etc. While each iteration is likely to run some if not all tests, each iteration may update with any areas of the codebase that will later require final verification before submission. |
| 97 | + - #### Phase Files |
| 98 | + - **Update/Complete:** Each iteration updates a single **Stage** in [[AI/Coding/v0/File/4-TICKET-staged-implementation-checklist.md]], checking off the todos for that stage, and ends with a commit. By the end of phase 5, every item has been checked off. |
| 99 | + - **Output:** [[AI/Coding/v0/File/5-TICKET-commits.md]] - The commit messages created along with the **Stage** of the implementation from the [[AI/Coding/v0/File/4-TICKET-staged-implementation-checklist.md]] |
| 100 | + - **Output:** [[AI/Coding/v0/File/5-TICKET-qa-todo.md]] - This is a [[QA/Test Plan]] checklist, with both human and AI todo items, including automated testing, manual verification, code coverage, etc. While each iteration is likely to run some if not all tests, each iteration may update with any areas of the codebase that will later require final verification before submission. |
69 | 101 | - ### [[AI/Coding/v0/Phase/6 - Verification]] |
70 | | - - **Complete:** [[AI/Coding/v0/File/6-TICKET-staged-implementation-checklist.md]] |
71 | | - - **Update:** [[AI/Coding/v0/File/6-TICKET-qa-todo.md]] |
72 | | - - **Output:** [[AI/Coding/v0/File/6-TICKET-qa-summary.md]] - a summary of the QA impacted areas of the codebase, the testing activities conducted, etc. |
| 102 | + - #### Phase Files |
| 103 | + - **Update/Complete:** [[AI/Coding/v0/File/5-TICKET-qa-todo.md]] - as items from the verification checklist are completed, they are checked off. By the end of phase 6, all the items are checked off. |
| 104 | + - **Output:** [[AI/Coding/v0/File/6-TICKET-qa-summary.md]] - a summary of the QA impacted areas of the codebase, the testing activities conducted, etc. |
73 | 105 | - ### [[AI/Coding/v0/Phase/7 - Documentation]] |
74 | | - - **Output:** [[AI/Coding/v0/File/7-TICKET-mr-summary.md]], a [[Merge Request/Description]] with a summary of changes, testing results, documentation updates, and next steps for reviewers |
75 | | - - **Output:** In-repository documentation updates |
76 | | - - ### [[AI/Coding/v0/Phase/8 - Submission]] |
77 | | - - **Output:** [[AI/Coding/v0/File/8-TICKET-mr-handoff.md]] - Summary of changes made during the [[Code Review]], along with any items that may need follow-up in future tickets |
| 106 | + - #### Phase Files |
| 107 | + - **Update:** any `CHANGELOG.md`, `README.md`, or any other in-repository documentation of the project with anything that has changed |
| 108 | + - ### [[AI/Coding/v0/Phase/8 - Submission]] of #PR / #MR |
| 109 | + - #### Phase Files |
| 110 | + - Before PR |
| 111 | + - **Output:** [[AI/Coding/v0/File/7-TICKET-mr-summary.md]], a [[Merge Request/Description]] with a summary of changes, testing results, documentation updates, and next steps for reviewers |
| 112 | + - After PR |
| 113 | + - **Output:** [[AI/Coding/v0/File/8-TICKET-mr-handoff.md]] - Summary of changes made during the [[Code Review]], along with any items that may need follow-up tickets for future work |
78 | 114 | - ## About the `<STAGE_NUM>-<TICKET_REF>-` prefix for files |
79 | 115 | - **STAGE_NUM** - By prefixing the file with the stage number, the files will be sorted in chronological order of when they will be used. This benefits both the AI and the human participants, as they can use a shared vocabulary |
80 | 116 | - **TICKET_REF** - Ideally, this wouldn't be necessary. In [[CursorAI]], it can currently be a bit messy when trying to pull a specific file into the chat pane using [[CursorAI/@/Files]] if many files are named the same. In the interest of making it possible to uniquely identify all files using `@` references, one may prefix the files with the ticket. This has the advantage of making it possible to quickly reference an item. If Cursor's UI evolves a more reliable directory drill-down UI, it may make sense to omit this section of the file names. |
|
0 commit comments