Table of Contents
This repository contains the source code for the SDLC_core project, a Python-based framework for building AI-powered software development life cycle tools.
Related repositories include:
- SDLC_core Documentation (Placeholder)
The plan for the SDLC_core is described here and will be updated as the project proceeds.
Note
This section is a placeholder and may not be relevant to this project.
SDLC_core is a Python-based Software Development Life Cycle core project that provides AI/ML capabilities for software development workflows. The repository contains modules for LLM clients, intelligent agents, memory management, prompt engineering, document retrieval, skill execution, and various utilities. It combines a Python core with TypeScript for Azure DevOps pipeline configurations.
Note
This section is a placeholder. Please add relevant links.
- [Link 1](add link)
- [Link 2](add link)
Note
This section is a placeholder. Please add frequently asked questions.
All project documentation is located at softwaremodule-docs. If you would like to contribute to the documentation, please submit a pull request on the SDLC_core Documentation repository.
π config/ β YAML config for models, prompts, logging
π data/ β Prompts, embeddings, and other dynamic content
π examples/ β Minimal scripts to test key features
π notebooks/ β Quick experiments and prototyping
π tests/ β Unit, integration, and end-to-end tests
π src/ β The core engine β all logic lives here (./src/README.md)
- Track prompt versions and results
- Separate configs using YAML files
- Maintain separation between model clients
- Structure code by clear module boundaries
- Cache responses to reduce latency and cost
- Handle errors with custom exceptions
- Use notebooks for rapid testing and iteration
- Monitor API usage and set rate limits
- Keep code and docs in sync
- Clone the repository.
- Set up your Python environment. A Python version between 3.10 and 3.12 is recommended.
- Install dependencies. The project's dependencies are split into several files. For general development, you will need
requirements-dev.txt
.pip install -r requirements-dev.txt
- Set up your environment variables. Copy the
.env.template
file to.env
and fill in the required API keys for the LLM providers you want to use. - Explore the examples. The
examples/
directory contains scripts that demonstrate the key features of the project. - Experiment in notebooks. The
notebooks/
directory is a great place to start experimenting with the codebase.
- Use modular structure
- Test components early
- Track with version control
- Keep datasets fresh
- Keep documentation updated
- Monitor API usage and limits
requirements.txt
β Core package dependencies for the project.requirements-dev.txt
- Dependencies for development and testing.requirements-docs.txt
- Dependencies for generating documentation.AGENTS.md
- Instructions for AI agents working with this repository.README.md
β Project overview and usage.Dockerfile
β Container build instructions.
We provide a small helper script that creates an isolated virtualenv and runs the test suite.
Run the full test suite locally:
./scripts/run-tests.sh
Or run just the deepagent tests (fast):
./scripts/run-tests.sh test/unit -k deepagent
You can also use the Makefile targets:
make test
make lint
We are excited to work with the community to build and enhance this project.
BEFORE you start work on a feature/fix, please read & follow our Contributor's Guide to help avoid any wasted or duplicate effort.
The easiest way to communicate with the team is via GitHub issues.
Please file new issues, feature requests and suggestions, but DO search for similar open/closed preexisting issues before creating a new issue.
If you would like to ask a question that you feel doesn't warrant an issue (yet), please reach out to us via email: info@softwaredevlabs.com
Please review these brief docs below about our coding practices.
π If you find something missing from these docs, feel free to contribute to any of our documentation files anywhere in the repository (or write some new ones!)
This is a work in progress as we learn what we'll need to provide people in order to be effective contributors to our project.
This project has adopted the Code of Conduct. For more information see the Code of Conduct or contact info@softwaredevlabs.com with any additional questions or comments.