This project has been archived by its maintainers, and is no longer receiving any updates.
Prompt Composer
A modular system prompt composition framework that intelligently generates system prompts for AI assistants based on available tools, task complexity, and contextual information.
Language Support
- Python:
pip install system-prompt-composer - Node.js:
npm install system-prompt-composer(native bindings - no Python required!)
Quick Start
Python
import system_prompt_composer
import json
request = {
"user_prompt": "Help me analyze this code",
"mcp_config": {"mcpServers": {...}},
"session_state": {"tool_call_count": 0}
}
response = system_prompt_composer.compose_system_prompt(json.dumps(request))
result = json.loads(response)
print(result["system_prompt"])
Node.js (Native)
const { composeSystemPrompt } = require('system-prompt-composer');
const request = {
user_prompt: "Help me analyze this code",
mcp_config: { mcpServers: {...} },
session_state: { tool_call_count: 0 }
};
const response = await composeSystemPrompt(request);
console.log(response.system_prompt);
📖 For detailed Node.js documentation, see node/README.md
Project Structure
prompt-composer/
├── core/ # Rust core implementation
│ ├── lib.rs # Main library with NAPI bindings
│ ├── types.rs # Type definitions
│ ├── composition.rs # Prompt composition logic
│ └── ...
├── python/ # Python package (PyO3 bindings)
├── node/ # Node.js package (native NAPI-RS bindings)
│ ├── package.json
│ ├── index.js # Native bindings wrapper
│ └── index.d.ts # TypeScript definitions
├── prompts/ # Modular prompt library
│ ├── domains/ # Domain-specific prompts
│ └── behaviors/ # Behavioral guidance prompts
└── README.md # This file
Features
- 🧠 Intelligent prompts that adapt to available MCP tools
- 📋 Automatic task planning for complex requests
- 🎯 Context-aware guidance for different domains (programming, analysis, filesystem, etc.)
- 📊 Progress monitoring for multi-step workflows
- 🔄 Modular design with composable prompt components
- ⚡ High performance with Rust core
- 🌍 Multi-language support (Python, Node.js)
Installation
Python Package
pip install system-prompt-composer
Node.js Package (Native - No Python Required!)
npm install system-prompt-composer
The Node.js package now uses native Rust bindings via NAPI-RS, eliminating the Python dependency!
API Reference
Core Functions
composeSystemPrompt(request)
Generate an intelligent system prompt based on available tools and context.
Parameters:
request.user_prompt(string): The user's requestrequest.mcp_config(object): MCP server configuration withmcpServersrequest.session_state(object): Current session state includingtool_call_countrequest.domain_hints(array, optional): Domain hints like["programming", "analysis"]request.task_complexity(string, optional):"Simple","Complex", or"Auto"
Returns:
{
system_prompt: "Generated prompt text...",
source: "native",
version: "1.1.0",
// ... additional metadata
}
listAvailableDomains()
Returns array of available domain modules: ["programming", "analysis", "filesystem", "system"]
listAvailableBehaviors()
Returns array of available behavior modules: ["planning", "progress", "reasoning", "tools"]
getStatus()
Returns system status and configuration information.
isAvailable()
Always returns true for native bindings.
Architecture
Native Node.js Architecture (NEW):
Node.js → NAPI-RS → Rust Core
Python Architecture:
Python → PyO3 → Rust Core
Key Benefits of Native Bindings:
- ✅ No Python dependency for Node.js users
- ✅ Native performance - direct Rust execution
- ✅ Simple deployment - just
npm install - ✅ Better error handling
- ✅ Cross-platform binary distribution
- ✅ Smaller bundle size
Development
Building Native Node.js Package
cd node/
npm install
npm run build # Build release binaries
npm run build:debug # Build debug binaries
npm test # Run tests
Python Development
cd python/
pip install -e .
Rust Core Development
cargo build --release
cargo test
cargo build --features nodejs # For Node.js bindings
cargo build --features python # For Python bindings
Publishing
Node.js (npm)
cd node/
npm run build # Build native binaries
npm publish --access public
Python (PyPI)
cd python/
pip install build twine
python -m build
twine upload dist/*
Contributing
Contributions welcome! The project uses:
- Rust for the core prompt composition engine
- NAPI-RS for Node.js native bindings
- PyO3 for Python bindings
- Modular prompts in the
prompts/directory
License
MIT License - see LICENSE file for details.
Metadata
Release files for system-prompt-composer 1.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| system_prompt_composer-1.0.8-cp312-cp312-manylinux_2_34_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.34+ x86-64 | Details |
Release files / system_prompt_composer-1.0.8-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | system_prompt_composer-1.0.8-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 555.8 kB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
226398b311acb023ef64db4c42ff72bbaac15a2e77407f471e7d4baadadc64fa
|
|
BLAKE2b-256 checksum How to use checksums |
419b75620d817021c21aeae2463652965a268d7a354bb7f3f553450ba8cb592c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|