Spaces:
Sleeping
Copilot Instructions for the Project
Ignore files and folders
- You should ignore the files and folder bellow:
- .venv/
- .vscode/
- pycache/
- build/
- chroma.db/
- vibe_dspy.egg-info/
- Ignore files that are mentioned inside .gitignore
Environment and Secrets
- All credentials and config are loaded from
.envusingpython-dotenv. - For DB access, use
DB_USER,DB_PASS_ENCODED,DB_HOST,DB_PORT,DB_DATABASE. - For LLMs, use
AZURE_OPENAI_API_KEY,AZURE_OPENAI_ENDPOINT,AZURE_OPENAI_DEPLOYMENT_NAME.
Conventions and Workflows
- Always use environment variables for secrets and config.
- Always use
uv runto run code and code tools - Always use
pytestfor unit tests and run then withuv run pytest. - Always use
uvanduv addto manage dependencies.
References
- See
README.mdfor high-level goals and links.
Security and Environment File Handling
- Never read, modify, index, or delete any
.envfiles. - Do not access, print, or manipulate environment variable files (e.g.,
.env) in any way. - All environment configuration is managed outside of AI agent operations for security and compliance.
Commit Message Guidelines (Conventional Commits)
All commit messages should adhere to the Conventional Commits specification. This provides a standardized format for commit messages, making it easier to understand the purpose of a commit and to automate changelog generation.
The basic structure of a commit message is:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Type
The type is a mandatory prefix that indicates the kind of change introduced by the commit. Common types include:
feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)refactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testsbuild: Changes that affect the build system or external dependencies (example scopes: npm, gulp, broccoli, make)ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)chore: Other changes that don't modify src or test filesrevert: Reverts a previous commit
Scope (Optional)
The scope provides additional contextual information about the change. It is enclosed in parentheses after the type. For example, feat(parser): add ability to parse arrays.
Description
The description is a concise, imperative, present-tense summary of the change. It should not be capitalized and should not end with a period.
Body (Optional)
The body provides a longer, more detailed explanation of the commit's changes. It should be separated from the description by a blank line.
Footer(s) (Optional)
The footer can contain information about breaking changes, references to issues, or other metadata. Breaking changes should start with BREAKING CHANGE: followed by a description.
Examples
feat: add new user authentication modulefix(auth): correct password validation bugdocs: update README with installation instructionsrefactor(api): simplify error handling logicBREAKING CHANGE: refactor(core): remove old API endpointThe /api/v1/old-endpoint has been removed. Use /api/v1/new-endpoint instead.