You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We use bd (beads) for issue tracking instead of Markdown TODOs or external tools.
6
+
We use plans for additional context and bookkeeping. Write plans to `claude-notes/plans/YYYY-MM-DD-<description>.md`, and reference the plan file in the issues.
9
7
10
8
### Quick Reference
11
9
@@ -101,7 +99,26 @@ When fixing ANY bug:
101
99
3.**THIRD**: Implement the fix
102
100
4.**FOURTH**: Run the test and verify it passes
103
101
104
-
**This is non-negotiable. Never implement a fix before verifying the test fails. Stop and ask the user if you cannot think of a way to mechanically test the bad behavior.**
102
+
**This is non-negotiable. Never implement a fix before verifying the test fails. Stop and ask the user if you cannot think of a way to mechanically test the bad behavior. Only deviate if writing new features.**
103
+
104
+
## Workspace structure
105
+
106
+
### `crates` - corresponds to the crates in the public quarto-markdown repo
107
+
108
+
-`crates/qmd-syntax-helper`: a binary to help users convert qmd files to the new syntax
109
+
-`crates/quarto-error-reporting`: a library to help create uniform, helpful, beautiful error messages
110
+
-`crates/quarto-markdown-pandoc`: a binary to parse qmd text and produce Pandoc AST and other formats
111
+
-`crates/quarto-source-map`: a library to help maintain information about the source location of data structures in text files
112
+
-`crates/quarto-yaml`: a YAML parser that produces YAML objects and accurate fine-grained source location of elements
113
+
-`crates/tree-sitter-qmd`: tree-sitter grammars for block and inline parsers
114
+
-`crates/wasm-qmd-parser`: A WASM module with some entry points from `crates/quarto-markdown-pandoc`
115
+
116
+
### `private-crates` - private crates we are not going to release yet
117
+
118
+
-`private-crates/quarto-yaml-validation`: A library to validate YAML objects using schemas
119
+
-`private-crates/validate-yaml`: A binary to exercise `quarto-yaml-validation`
120
+
-`private-crates/quarto`: The future main entry point for the `quarto` command line binary.
121
+
-`private-crates/quarto-core`: supporting library for `quarto`
105
122
106
123
## General Instructions
107
124
@@ -118,6 +135,6 @@ When fixing ANY bug:
118
135
- Always create a plan. Always work on the plan one item at a time.
119
136
- In the tree-sitter-markdown and tree-sitter-markdown-inline directories, you rebuild the parsers using "tree-sitter generate; tree-sitter build". Make sure the shell is in the correct directory before running those. Every time you change the tree-sitter parsers, rebuild them and run "tree-sitter test". If the tests fail, fix the code. Only change tree-sitter tests you've just added; do not touch any other tests. If you end up getting stuck there, stop and ask for my help.
120
137
- When attempting to find binary differences between files, always use `xxd` instead of other tools.
121
-
- .c only works in JSON formats. Inside Lua filters, you need to use Pandoc's Lua API. Study https://raw.githubusercontent.com/jgm/pandoc/refs/heads/main/doc/lua-filters.md and make notes to yourself as necessary (use docs/for-claude in this directory)
138
+
- .c only works in JSON formats. Inside Lua filters, you need to use Pandoc's Lua API. Study https://raw.githubusercontent.com/jgm/pandoc/refs/heads/main/doc/lua-filters.md and make notes to yourself as necessary (use claude-notes in this directory)
122
139
- Sometimes you get confused by macOS's weird renaming of /tmp. Prefer to use temporary directories local to the project you're working on (which you can later clean)
123
140
- The documentation in docs/ is a user-facing Quarto website. There, you should document usage and not technical details.
0 commit comments