{"id":31950981,"url":"https://github.com/nimblesite/nimble_agent","last_synced_at":"2025-10-14T12:52:28.835Z","repository":{"id":291195133,"uuid":"976300278","full_name":"Nimblesite/nimble_agent","owner":"Nimblesite","description":"A LangChain, CLI based AI coding assistant and library aimed at fixing common issues that exist in other AI agents","archived":false,"fork":false,"pushed_at":"2025-07-21T22:32:32.000Z","size":72,"stargazers_count":9,"open_issues_count":9,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-21T23:22:25.057Z","etag":null,"topics":["ai","chatgpt","coding-assistant","langchain","python"],"latest_commit_sha":null,"homepage":"https://www.nimblesite.co/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nimblesite.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audit.md","citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-01T21:29:06.000Z","updated_at":"2025-06-19T19:12:48.000Z","dependencies_parsed_at":"2025-05-03T01:48:57.275Z","dependency_job_id":"11234f6b-b662-438b-9104-e5c3dd4b129b","html_url":"https://github.com/Nimblesite/nimble_agent","commit_stats":null,"previous_names":["nimblesite/nimble_agent"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nimblesite/nimble_agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nimblesite%2Fnimble_agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nimblesite%2Fnimble_agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nimblesite%2Fnimble_agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nimblesite%2Fnimble_agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nimblesite","download_url":"https://codeload.github.com/Nimblesite/nimble_agent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nimblesite%2Fnimble_agent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018578,"owners_count":26086581,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chatgpt","coding-assistant","langchain","python"],"created_at":"2025-10-14T12:52:27.684Z","updated_at":"2025-10-14T12:52:28.828Z","avatar_url":"https://github.com/Nimblesite.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nimble Agent\n\nA LangChain, CLI based AI coding assistant and library aimed at fixing common issues that exist in other AI agents. You can run it at the terminal, call it from your app, or run it in the cloud/CICD pipeline. \n\nSee the [major features](https://github.com/Nimblesite/nimble_agent/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22major%20feature%22) list to get a sense of the ultimate aims of this project. One other ultimate aim is cost minimisation. By default, the agent uses cheap models, and the aim is to support as many open source models as possible that can run locally. A major driver for this project is to use smart prompting and orchestration rather than brute force expensive models.\n\nThe agent introduces the concept of \"acceptance criteria\". This tells the agent how to check if the task has succeeded. Acceptance criteria should be objective, such as something that can be actually tested in a unit test or UI test. The agent should loop until the criteria is met. This ensures that the agent doesn't just create random code and then stop. \n\nThe long term aim is to implement multi-agent support so as to fix issues like code deletion that is so rampant in other agents. It appears at this point that agents will always hallucinate, make mistakes and go beyond what is asked of them. A reviewer agent will revert obvious mistakes made by the original agent and attempt to steer the agent back on the right track.\n\n## Development Environment Setup\n\n**Add your OpenAI API Key by creating a `.env` file in the root directory**\n```\nOPENAI_API_KEY=your_key_here\n```\n\nThis project uses VS Code Dev Containers to ensure a consistent development environment. **This is the required way to develop for this project.**\n\n### Prerequisites\n\n\n\n\n1. Install [Docker Desktop](https://www.docker.com/products/docker-desktop/)\n2. Install [Visual Studio Code](https://code.visualstudio.com/)\n3. Install the [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) extension in VS Code\n\n### Quick Start\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/your-username/nimble_agent.git\n   cd nimble_agent\n   ```\n\n2. Start Docker Desktop\n\n3. Open the project in VS Code:\n   ```bash\n   code .\n   ```\n\n4. Start the Dev Container:\n   - When prompted \"Folder contains a Dev Container configuration file. Reopen folder to develop in a container\", click \"Reopen in Container\"\n   - Or press `Cmd + Shift + P` (Mac) / `Ctrl + Shift + P` (Windows/Linux), type \"Dev Containers: Reopen in Container\"\n\nVS Code will automatically:\n- Build the container with Python 3.12 and Flutter\n- Install all project dependencies\n- Run setup.sh to configure the development environment\n- Configure development tools and extensions\n\n### Environment Variables\n\nCreate a `.env` file in the root directory:\n```\nOPENAI_API_KEY=your_key_here\n```\n\n### Development Tools Included\n\nThe dev container comes pre-configured with:\n- Python 3.11\n- Flutter (stable channel)\n- Code formatting (Black, dart format)\n- Linting (Ruff, Flutter lint)\n- Type checking (Pyright)\n- Auto-formatting on save\n- Import sorting\n- Debugging support\n- IntelliCode AI assistance\n\n### Development Workflow\n\n#### Running Tests and Checks\n\nThe project includes a comprehensive CI script that runs all necessary checks. To test your changes, run:\n\n```bash\n./scripts/ci.sh\n```\n\nThis script will:\n- Run all tests with pytest\n- Check code formatting with Black\n- Run linting with Ruff\n- Verify type checking with Pyright\n- Check test coverage requirements\n- Generate coverage reports\n\n#### Common Commands\n\nInside the dev container:\n```bash\n# Run tests\npytest\n\n# Format code\nblack .\n\n# Run linting\nruff check .\n\n# Run all checks\n./scripts/ci.sh\n```\n\n### Troubleshooting\n\nIf you encounter issues:\n1. Ensure Docker Desktop is running\n2. Rebuild the container:\n   - `Cmd/Ctrl + Shift + P`\n   - Type \"Dev Containers: Rebuild Container\"\n3. Verify Flutter installation:\n   ```bash\n   flutter doctor\n   ```\n\n### Stopping the Dev Container\n\n1. Press `Cmd + Shift + P` (Mac) / `Ctrl + Shift + P` (Windows/Linux)\n2. Type \"Dev Containers: Reopen Folder Locally\"\n3. Press Enter\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnimblesite%2Fnimble_agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnimblesite%2Fnimble_agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnimblesite%2Fnimble_agent/lists"}