-
Notifications
You must be signed in to change notification settings - Fork 0
feat: initialize project with uv, hatchling, and src layout #62
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| # Python | ||
| __pycache__/ | ||
| *.py[cod] | ||
| *$py.class | ||
| *.so | ||
|
|
||
| # Distribution / packaging | ||
| dist/ | ||
| build/ | ||
| *.egg-info/ | ||
| *.egg | ||
|
|
||
| # Virtual environments | ||
| .venv/ | ||
| venv/ | ||
| env/ | ||
|
|
||
| # Type checking / linting / testing caches | ||
| .mypy_cache/ | ||
| .ruff_cache/ | ||
| .pytest_cache/ | ||
|
|
||
| # Coverage | ||
| htmlcov/ | ||
| coverage.xml | ||
| .coverage | ||
| .coverage.* | ||
|
|
||
| # Environment variables | ||
| .env | ||
| .env.local | ||
| .env.*.local | ||
|
|
||
| # Databases | ||
| *.db | ||
| *.sqlite3 | ||
|
|
||
| # IDE | ||
| .idea/ | ||
| .vscode/ | ||
|
|
||
| # OS | ||
| Thumbs.db | ||
| .DS_Store | ||
|
|
||
| # uv | ||
| .python-version | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The |
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,25 @@ | ||||||
| [project] | ||||||
| name = "ai-company" | ||||||
| dynamic = ["version"] | ||||||
| description = "Framework for orchestrating autonomous AI agents within a virtual company structure" | ||||||
| readme = "README.md" | ||||||
| license = "BUSL-1.1" | ||||||
|
||||||
| license = "BUSL-1.1" | |
| license = { file = "LICENSE" } |
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.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Searching markdown/docs for package-manager evaluation evidence..."
rg -n --type=md -C2 'uv|poetry|pip-tools|pdm|package manager|decision|ADR' 2>/dev/null || echo "No matches found in markdown files"
echo
echo "Potential ADR/decision files:"
fd -HI -t f '(?i)adr|decision' 2>/dev/null || echo "No ADR/decision files found"
echo
echo "Checking for docs or docs-related directories:"
fd -HI -t d 'docs?|adr' 2>/dev/null | head -20 || echo "No docs directories found"
echo
echo "Looking for README or DECISIONS files:"
git ls-files | grep -iE '(readme|decisions|architecture|adr)' || echo "No relevant files found via git"Repository: Aureliolo/ai-company
Length of output: 6168
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Contents of docs/ directory:"
find docs/ -type f 2>/dev/null | head -20
echo
echo "Searching within docs/ for package-manager mentions:"
rg -n 'uv|poetry|pip-tools|pdm|package.?manager' docs/ 2>/dev/null || echo "No package-manager references found in docs/"
echo
echo "Looking for any ADR or decision content in docs/:"
find docs/ -type f \( -name "*.md" -o -name "*.txt" \) -exec basename {} \; 2>/dev/null | sort -uRepository: Aureliolo/ai-company
Length of output: 256
Document the package-manager evaluation decision in-repo (objective #19 deliverable).
pyproject.toml reflects the chosen tooling and uv is mentioned in README.md, but no recorded comparison or evaluation of alternatives exists in the repository. The docs/ directory is empty, and no ADR or decision record documents why uv was selected over poetry, pip-tools, pdm, or other candidates. Add this artifact (README section, docs/ADR, or equivalent) to fulfill the evaluation requirement.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@pyproject.toml` around lines 1 - 22, Add an in-repo decision record
describing the package-manager evaluation and final choice (referencing
pyproject.toml and the README mention of "uv"); create an ADR or markdown in
docs/ (or a README section) that lists the alternatives considered (poetry,
pip-tools, pdm, etc.), the evaluation criteria, concise pros/cons for each, the
benchmarking/compatibility notes you ran, and the final rationale for selecting
"uv" so the repository satisfies objective `#19` deliverable. Ensure the file is
named clearly (e.g., ADR or "package-manager-decision.md"), links to the
pyproject.toml configuration, and includes the date and author.
Copilot
AI
Feb 27, 2026
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 hatchling packages configuration is incorrect for src layout. When using a src layout, the packages field should be just "ai_company" not "src/ai_company". Hatchling automatically looks in the src directory. This current configuration will cause the package to be nested incorrectly as src.ai_company instead of ai_company.
| packages = ["src/ai_company"] | |
| packages = ["ai_company"] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| """AI Company - Framework for orchestrating autonomous AI agents.""" | ||
|
|
||
| __version__ = "0.1.0" |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
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 pattern
*$py.classappears to be a typo. It was likely intended to be*.py.classfor ignoring Jython compiled files. Since this project targets CPython 3.14+, this pattern is unnecessary. I recommend removing this line to keep the.gitignorefile clean and relevant to the project's technology stack.