SpecLang Portal
Welcome to the SpecLang Portal! This web application is designed to introduce, explore, and demonstrate the SpecLang philosophy – a methodology for software development that prioritizes natural-language specifications as the primary source of truth, leveraging AI to translate these specifications into executable code.
Core Idea of SpecLang
SpecLang redefines the development process by:
- Natural Language as “Prose Code”: Specifications are written in structured, human-readable language.
- Iterative Feedback Loop: Specs evolve collaboratively between users and AI agents.
- Bi-Directional Ideation: AI agents proactively suggest enhancements and clarifications.
- Intent-Based Expression: Focus is on what the app should do, not how it’s implemented at a low level.
- Precision and Control: Natural language specs can be detailed and unambiguous.
- Accessibility and Extensibility: Specs are designed to be maintainable and adaptable.
The goal is to make software development more intuitive, aligning the final product closely with the user’s vision (“what you see is what you want”). The ultimate vision extends to a development ecosystem where these prose specifications can achieve a high degree of bi-directional synchronization with their implemented counterparts (UI, code). This is a significant endeavor, drawing from research in areas like Model-Driven Engineering and AI-assisted synchronization, aiming to keep the “prose code” a truly living document.
Portal Features
This portal provides a comprehensive overview and interactive experience of SpecLang:
- Home Page: Introduces SpecLang and its key aspects.
- Philosophy Page: Delves into the core principles that underpin the SpecLang methodology.
- Workflow Page: Explains the step-by-step process AI agents should follow to extract and refine specifications from user input.
- Guidelines Page: Offers best practices for ensuring precision, clarity, and user control when crafting SpecLang specifications.
- Future Directions Page: Discusses potential advancements and exploratory ideas for the SpecLang framework.
- Interactive Demo Page:
- Allows users to input a natural language description of an application or feature.
- Utilizes the Google Gemini API to generate a structured SpecLang specification in Markdown format based on the input.
- Demonstrates the “Natural Language to Spec” translation capability.
- Note: Requires a
process.env.API_KEY to be configured for the Gemini API functionality.
- Resources Page: Lists conceptual tools, libraries, and further reading materials related to SpecLang, envisioning a supportive ecosystem.
Technology Stack
The portal is built using modern web technologies:
- React 19: For building the user interface.
- React Router DOM: For client-side routing.
- Tailwind CSS: For styling and responsive design.
- TypeScript: For type safety and improved developer experience.
- @google/genai (Gemini API): Powers the interactive demo for spec generation.
Exploring the Portal
- Open
index.html in your web browser. The application is a client-side React app.
- Navigate through the sections using the navigation bar to learn about different aspects of SpecLang.
- Try the Interactive Demo:
- Go to the “Demo” page.
- Important: For the demo to function and generate specifications, you must have a valid Google Gemini API key set as an environment variable
API_KEY in the context where the JavaScript is executed. The portal itself does not provide a way to input this key; it must be available to process.env.API_KEY.
- Enter a description of an app or feature idea into the text area.
- Click “Generate Specification” to see the AI-generated SpecLang output.
Purpose
This portal serves as:
- An educational resource for understanding the SpecLang philosophy and its potential.
- A demonstration of how AI can be used to facilitate intent-driven software development, building upon and aiming to refine approaches seen in the current landscape of NL-to-X tools.
- A conceptual framework for building tools and libraries that support the SpecLang methodology.
We hope this portal provides valuable insights into the future of software specification and development!
SEE: https://github.com/jgwill/MiAICo/issues/6