Transform unstructured developer tool ideas into structured, actionable product specifications.
devide_spec is a Python package that converts natural language descriptions of developer tools into structured, well-defined specifications. It extracts key features, target users, and potential challenges, providing a clear roadmap for development.
- Extracts structured specifications from unstructured text inputs
- Supports customizable LLM backends (LLM7 by default)
- Configurable via environment variables or direct API key input
- Works seamlessly with popular LangChain LLM integrations
pip install devide_specfrom devide_spec import devide_spec
response = devide_spec(user_input="I want a CLI tool that helps developers manage their Docker containers with a simple command interface")
print(response)You can replace the default ChatLLM7 with any LangChain-compatible LLM:
from langchain_openai import ChatOpenAI
from devide_spec import devide_spec
llm = ChatOpenAI()
response = devide_spec(user_input="My tool idea...", llm=llm)from langchain_anthropic import ChatAnthropic
from devide_spec import devide_spec
llm = ChatAnthropic()
response = devide_spec(user_input="My tool idea...", llm=llm)from langchain_google_genai import ChatGoogleGenerativeAI
from devide_spec import devide_spec
llm = ChatGoogleGenerativeAI()
response = devide_spec(user_input="My tool idea...", llm=llm)The package uses LLM7 by default. You can:
- Set your API key via environment variable:
export LLM7_API_KEY="your_api_key_here"
- Or pass it directly:
from devide_spec import devide_spec response = devide_spec(user_input="My tool idea...", api_key="your_api_key_here")
Get a free LLM7 API key at https://token.llm7.io/.
| Parameter | Type | Description |
|---|---|---|
user_input |
str |
The natural language description of your tool idea |
api_key |
Optional[str] |
LLM7 API key (optional if using environment variable) |
llm |
Optional[BaseChatModel] |
Custom LangChain LLM (optional, defaults to ChatLLM7) |
The function returns a list of structured specifications extracted from the input text, formatted to match a predefined regex pattern.
- LLM7 Free Tier is sufficient for most use cases.
- For higher rate limits, use your own API key or upgrade your LLM7 plan.
MIT
For bugs, feature requests, or support, please open an issue at: https://github.com/chigwell/devide-spec/issues
Eugene Evstafev 📧 hi@euegne.plus 🔗 GitHub: chigwell