Skip to content

Commit 55d3fcc

Browse files
committed
Enhance AI Coding Technique with Knowledge Base and Interviewer Concepts
- Add new pages for AI Knowledge Base, Knowledge Garden comparison, and AI Interviewer technique - Refactor AI Coding Technique directory structure with more detailed phase descriptions - Update journal entries with new AI coding and knowledge management insights - Improve documentation for project preparation, knowledge integration, and AI-assisted coding processes
1 parent 95ca697 commit 55d3fcc

13 files changed

+176
-84
lines changed

journals/2025_03_03.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
## [[AI Coding]]
22
- [[AI/Coding/Technique/Phased Planning/ai-coding dir]] #Updated
33
- Expanded the introductory section with a description of the files in the directory and some examples of various ticket folders
4-
- Thinking that it might make sense to add these, but haven't recorded this anywhere else yet
5-
- plan and checklist files for each stage in sub-folders to increase focus
6-
- a file for CURRENT STAGE to store that state
4+
- Thinking that it might make sense to add these, but haven't recorded this anywhere else yet:
5+
- a plan and a checklist file for each stage in sub-folders to increase focus
6+
- a CURRENT STAGE file to store the state of which sub-task we're working on
77
- subfolders for issues from other repos
88
- [[CursorAI/Security/How To/Exclude Secrets from Indexing]]
99
- [[CursorAI/Forum/24/12/Questions on .gitignore, .cursorignore, .cursorban]]
1010
- Expense of [[Claude 3.7 Sonnet]]
1111
- [Is using claude-sonnet-3.7 more expensive than normal? : r/cursor](https://www.reddit.com/r/cursor/comments/1ixy6ip/is_using_claudesonnet37_more_expensive_than_normal/)
1212
- Yes, it's fairly expensive. I'm using [[IDE/Cline]] extension in [[Windsurf]] and have spent $1.30 with 5 minutes. If you use it for a full day you could easily spend between 50 and 100 dollars.
1313
- ## LangChain Ecosystem
14-
- [[langgraph/How To/See configuration for LangGraph run in LangSmith]]
15-
- [[langgraph/How To/Use add_conditional_edges to route in graph]]
16-
- [[langgraph/Docs/Companies using LangGraph]]
17-
- [[langgraph/Template]]
18-
- [[langgraph/EnvVars]]
19-
- #TIL that Langgraph has [[DataDog]] support through [[EnvVar]]s
20-
- [[LangChain/GitHub/langchain-mcp-adapters]] is a [[GitHub/Repo]] that provides an [[MCP]] adapter for [[langgraph]] and [[LangChain]]
21-
- [[langgraph/Tip/Use langgraph-cli rather than studio so you can grep your logs]]
14+
- #Filed
15+
- [[langgraph/How To/See configuration for LangGraph run in LangSmith]]
16+
- [[langgraph/How To/Use add_conditional_edges to route in graph]]
17+
- [[langgraph/Docs/Companies using LangGraph]]
18+
- [[langgraph/Template]]
19+
- [[langgraph/EnvVars]]
20+
- #TIL that Langgraph has [[DataDog]] support through [[EnvVar]]s
21+
- [[LangChain/GitHub/langchain-mcp-adapters]] is a [[GitHub/Repo]] that provides an [[MCP]] adapter for [[langgraph]] and [[LangChain]]
22+
- [[langgraph/Tip/Use langgraph-cli rather than studio so you can grep your logs]]
2223
- #Security
2324
- [[Person/Sergei Smagin/Blog/19/11/Cross-Site Requests]]
2425
- #[[Tiling Window Manager]]

journals/2025_03_04.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
## [[AI Coding]]
2+
- [[AI/Coding/Technique/Phased Planning/ai-coding dir]] #Updated
3+
- #Filed
4+
- [[AI/LLM/Technique/AI Interviewer]]
5+
- #Idea [[AI/Coding/Technique/Project Onboarding Interview]]
6+
- #Idea [[AI Technique - Link in a Personal Knowledge Base]]
7+
- #Idea [[AI/Coding/Technique/Knowledge Base]]
8+
- ## Knowledge
9+
- ### [[Disambiguation]]
10+
- #Filed [[Knowledge/Concept/Knowledge Base vs Knowledge Garden]] to distinguished [[Knowledge Gardens]] from [[Knowledge Bases]]
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Technique - Giving an AI Access to [[Knowledge Bases]]
2+
- In this technique, the project repository either directly contains #Documentation, or the project repository is configured so as to give the AI access to an [[MCP/Server]] that can access documentation.
3+
- [[CursorAI/@/Docs]] is almost a form of this, but to my knowledge, as of [[CursorAI/v/0.46 - Agent is ready and UI Refresh]], I haven't seen the [[CursorAI/Agent Mode]] initiate draw upon Docs itself. Instead, it tends to do a web search or a file system grep.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
alias:: [[AI Technique - Link in a Personal Knowledge Base]]
2+
3+
- # AI Technique - Link in a Personal [[Knowledge/Base]]
4+
-

pages/AI___Coding___Technique___Phased Planning___ai-coding dir.md

Lines changed: 73 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -12,69 +12,105 @@
1212
- [[AI/Coding/v0/File/1-TICKET-repomix.config.json]]
1313
- [[AI/Coding/v0/File/2-TICKET-technical-specification.md]]
1414
- [[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]]
1717
- [[AI/Coding/v0/File/6-TICKET-qa-summary.md]]
1818
- [[AI/Coding/v0/File/7-TICKET-mr-summary.md]]
1919
- [[AI/Coding/v0/File/8-TICKET-mr-handoff.md]]
2020
- ## Phases and their [[Intermediate Packets]] AKA output files
2121
- ### [[AI/Coding/v0/Phase/0 - Preparation]]
2222
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
2426
- downloading the repository
2527
- setting up the IDE
2628
- ensuring that [[Prompts]] for [[AI Coding]] are configured and accessible
2729
- [[CursorAI/Project Rules]]
2830
- [[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
3033
- the repository
3134
- 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]]
3742
- 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
3945
- consider setting [[git/Config/core.pager]] to use [[cat]]; see also [[AI/Coding/Tip/Avoid Non-Interactive CLI Commands When Defining AI Tools]]
4046
id:: 67c2d285-e4ca-448a-96bf-e76c70111882
4147
- ensuring [[CLI Tools]] are available and configured
4248
- #Repomix
4349
- #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
4469
- ### [[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.
5379
- ### [[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
5583
- ### [[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
6392
- ### [[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
6696
- ### [[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.
69101
- ### [[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.
73105
- ### [[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
78114
- ## About the `<STAGE_NUM>-<TICKET_REF>-` prefix for files
79115
- **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
80116
- **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.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
tags:: [[Interview]]
2+
alias:: [[AI/Interviewer]], [[AI Interviewer]], [[AI Interviewers]]
3+
4+
- # Technique - AI Interviewer
5+
- In this technique, a #Prompt directs the AI to ask the human or counterpart questions in a particular manner. This could be [[Requirement/Elicitation]] for the [[Product Requirements Document]], gathering information for any kind of specific purpose, or simply being a [[Thought/Partner]].
6+
- ## Example from [[Person/Harper Reed/Blog/25/02/My LLM codegen workflow atm]]
7+
- In this example, the AI interviews the programmer to conduct requirements elicitation
8+
- {{embed ((67b5d737-0ce1-47ee-a0a9-9735d77539b3))}}

pages/Knowledge.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Knowledge
2+
- In time, perhaps this page will grow to more of a philosophical discussion.
3+
- ## See Also
4+
- [[Knowledge/Concept/Knowledge Base vs Knowledge Garden]]

pages/Knowledge___Base.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
alias:: [[Knowledge/Base]], [[Knowledge Base]], [[Knowledge Bases]], [[KB]], [[KG]], [[KBs]], [[KGs]]
2+
tags:: [[Term]]
3+
4+
- # Knowledge Base
5+
- A knowledge base is a repository of knowledge about a team, product, company or organization.
6+
- It typically has many contributors and distributed stakeholders and is an important form of #Documentation.
7+
- There are two typical forms of a knowledge base:
8+
- 1 - Documentation intended for an external audience, for example, product documentation
9+
- 2 - Internal documentation, for example
10+
- operational documentation
11+
- project documentation
12+
- documentation written by one team or group of teams intended for other teams in a company or organization
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
tags:: [[Diataxis/Explanation]], [[Disambiguation]]
2+
3+
- # [[Knowledge Gardens]] vs [[Knowledge Bases]]
4+
- In the context of a product, organization or a company, the equivalent of a **Knowledge Garden** (KG) is often called a **Knowledge Base** (KB). Key differences between a Knowledge Garden and a KB are the:
5+
- **purpose** - KGs serve individual needs, while KBs are often an important form of official #Documentation needed by many different types of product stakeholders. A [[Software/Library]]'s documentation is a type of KB.
6+
- **number of contributors** - KGs are typically bespoke and managed by no more than a few people, whereas KBs might be updated in a team- or company-wide fashion
7+
- **level of formality** - KGs are typically more idiosyncratic and personal, while KBs are more impersonal and codified. For example, standards like #Diataxis codify how to create a KB for a product, but the [[Target/User]] or [[Target/Audience]] don't make quite as much sense in a context of personal [[Note-taking]].

0 commit comments

Comments
 (0)