-
Notifications
You must be signed in to change notification settings - Fork 344
chore: Added an AGENTS.md
file to instruct AI agents how to interact with this repository
#906
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…t with this repository
- `firebase_admin/`: The main package directory. | ||
- `__init__.py`: The primary entry point. It exposes the `initialize_app()` function and manages the lifecycle of `App` instances. | ||
- `exceptions.py`: Defines the custom exception hierarchy for the SDK. | ||
- `_http_client.py`: Contains the centralized `JsonHttpClient` and `HttpxAsyncClient` for all outgoing HTTP requests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we add more context on the HttpxAsyncClient
(HTTPX and HTTP/2)?
Could be here or under ### HTTP Communication
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I think a more context on when each should be used would be helpful. I'll add this in a follow up PR.
- Classes: `PascalCase` (e.g., `FirebaseError`). | ||
- Methods and Functions: `snake_case` (e.g., `initialize_app`). | ||
- Private Members: An underscore prefix (e.g., `_http_client`). | ||
- Constants: `UPPER_SNAKE_CASE` (e.g., `INVALID_ARGUMENT`). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe a short section for Typings? ex: NoneType
go/pystyle#none-type
This could also be an improvement in a future PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, I'll add this in a separate PR.
``` | ||
- **Integration Tests:** | ||
- Located in the `integration/` directory. | ||
- These tests make real API calls to Firebase services and require a configured project. Running these tests be should be ignored without a project and instead rely on the repository's GitHub Actions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
did the '
break formatting here and below?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The actual markdown formatting in preview seems fine but github text didn't seem to like it.
|
||
### Journey 1: How to Add a New API Method | ||
|
||
1. **Define Public Method:** Add the new method or change to the appropriate service client files (e.g., `firebase_admin/auth.py`). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a future improvement, should we be biased towards async?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a bit hesitant to bias towards it here since we wouldn't want it to start trying to use async for every new api just yet. I think providing that bias to the agent directly would be a better option for now.
No description provided.