Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .agents/code_review_guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
### Python specific guide
- Code should be "Pythonic"
- We use `asyncio` where ever possible. Avoid threads unless there's a good reason we can't use async.
- `@pytest.mark.asyncio` is never required on async tests: `pytest.ini` sets `asyncio_mode=auto`.
Comment thread
leonardmq marked this conversation as resolved.
- Python json.dumps should always set `ensure_ascii=False`

### SDK
Expand All @@ -30,8 +31,8 @@ The SDK in `/libs/core` is a SDK/library we expose to third parties. We code rev

If the change contains UI changes read:

- `./frontend_design_guide.md`
- `./frontend_controls.md`
- `.agents/frontend_design_guide.md`
- `.agents/frontend_controls.md`
Comment thread
leonardmq marked this conversation as resolved.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The bot suggested the path should be from the root. Not sure - @tawnymanticore ?


### FastAPI / OpenAPI Standards

Expand Down
5 changes: 5 additions & 0 deletions .gemini/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
ignore_patterns:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmmmm. I have another PR to stop adding more top level cruft. Will is respect any other DIR? .agents/.gemini? Configurable?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't find a way. Still think change is worth it, gemini CR is great. But make the one a pointer so no dupe??

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did not see a way in the docs but also did not look that much; and if no way, probably not worth building our own layer on top to spawn the configs. Worst case if it messes up we find out quickly and can fix easily.

The main intent with this one was to get it to stop dropping billions of comments about needing @pytest.mark.asyncio on all the test cases

- "app/desktop/studio_server/api_client/kiln_ai_server_client/**"

memory_config:
disabled: false
5 changes: 5 additions & 0 deletions .gemini/styleguide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Kiln Code Review Guidelines

@scosman scosman Apr 23, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we do this without duplication of .agents/code_review_guidelines.md? It'll get out of sync if we duplicate. I've been trying to migrate to 1 source of truth and scripts like setup_claude.sh

Maybe even just "Read the core review guidelines at ...."

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, did not really think of that but I assume it can indeed go read the other files. Just updated, we will see if it does


Follow `.agents/code_review_guidelines.md` as the source of truth for how to review changes in this repository.

If relevant to the change, also consult the more specific guides in `.agents/` (for example UI, API, Python tests).
4 changes: 2 additions & 2 deletions .github/workflows/debug_detector.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ jobs:
found=0

echo "Checking for python print statements"
prints=$(grep -nRP --include='*.py' --exclude-dir=node_modules --exclude-dir=.venv --exclude-dir=.git --exclude-dir=.github --exclude-dir=build --exclude-dir=dist --exclude-dir=.svelte-kit -e '(?<!\.)\bprint\(' . || true)
prints=$(grep -nRP --include='*.py' --exclude-dir=node_modules --exclude-dir=.venv --exclude-dir=.git --exclude-dir=.github --exclude-dir=build --exclude-dir=dist --exclude-dir=.svelte-kit --exclude-dir=.gemini -e '(?<!\.)\bprint\(' . || true)
if [ -n "$prints" ]; then
echo "$prints"
found=1
fi

echo "Checking for TODO or FIXME"
notes=$(grep -nR --exclude-dir=node_modules --exclude-dir=.venv --exclude-dir=.git --exclude-dir=.github --exclude-dir=build --exclude-dir=dist --exclude-dir=.svelte-kit --exclude=AGENTS.md --exclude=code_review_guidelines.md -e 'TODO' -e 'FIXME' . || true)
notes=$(grep -nR --exclude-dir=node_modules --exclude-dir=.venv --exclude-dir=.git --exclude-dir=.github --exclude-dir=build --exclude-dir=dist --exclude-dir=.svelte-kit --exclude-dir=.gemini --exclude=AGENTS.md --exclude=code_review_guidelines.md -e 'TODO' -e 'FIXME' . || true)
if [ -n "$notes" ]; then
echo "$notes"
found=1
Expand Down
Loading