Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
phernandez committed Nov 24, 2024
1 parent be1002f commit 2538621
Show file tree
Hide file tree
Showing 6 changed files with 631 additions and 1 deletion.
Empty file added .github/workflows/test.yml
Empty file.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -159,4 +159,4 @@ cython_debug/
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
.idea/
48 changes: 48 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Basic Factory

AI-assisted software development workflow tools.

## Overview

Basic Factory provides tools for integrating AI assistants (like Claude) into software development workflows via GitHub. It enables AI assistants to:

- Create and manage branches
- Commit changes
- Create pull requests
- Run and monitor GitHub Actions
- Participate in code review

## Github
For the GitHub token, you'll need to:

Go to GitHub Settings → Developer Settings → Personal Access Tokens
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens


Create a new token with 'repo' scope
We can use this for both direct API calls and for GitHub Actions

## Installation

```bash
uv add basic-factory
```

## Development

Set up development environment:

```bash
# Create virtual environment
uv venv
uv sync

# Install project in editable mode with dev dependencies
uv add --dev --editable .
uv add --dev pytest pytest-cov ruff

source .venv/bin/activate

# Run tests
pytest
```
6 changes: 6 additions & 0 deletions hello.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
def main():
print("Hello from basic-factory!")


if __name__ == "__main__":
main()
44 changes: 44 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "basic-factory"
version = "0.1.0"
description = "AI-assisted software development workflow tools"
readme = "README.md"
requires-python = ">=3.12"
authors = [
{ name = "Basic Machines" },
]
dependencies = [
"pygit2>=1.13.1", # For git operations
"pygithub>=2.1.1", # For GitHub API
"click>=8.1.7", # For CLI
"pydantic>=2.5.2", # For data validation
]

[project.optional-dependencies]
dev = [
"pytest>=7.4.3",
"pytest-cov>=4.1.0",
"ruff>=0.1.6",
]

[tool.hatch.build.targets.wheel]
packages = ["src/basic_factory"]

[tool.ruff]
src = ["src"]
line-length = 88

[tool.uv]
dev-dependencies = [
"basic-factory",
"pytest>=8.3.3",
"pytest-cov>=6.0.0",
"ruff>=0.8.0",
]

[tool.uv.sources]
basic-factory = { workspace = true }
Loading

0 comments on commit 2538621

Please sign in to comment.