spec-driven,
production-ready
code generation
spec-driven,
production-ready
code generation
spec-driven,
production-ready
code generation
*codeplain is an ai-powered code generation platform that turns specifications written in ***plain language into production-ready software.
*codeplain is an ai-powered code generation platform that turns specifications written in ***plain language into production-ready software.
curl -fsSL https://codeplain.ai/install.sh | bashcurl -fsSL https://codeplain.ai/install.sh | bashspecification in ***plain
trello-client.plain
---
description: 'Trello client application'
import:
- python-console-app-template
- saas-client-reqs
---
***definitions***
- :API: is the API of the 3rd party SaaS service.
- :ListOfUsers: is the list of users of the 3rd party SaaS service.
***implementation reqs***
- The resource [trello-openapi.json](trello-openapi.json) describes :API:.
***test reqs***
- The resource [trello-credentials.json](trello-credentials.json) contains credentials that can be used for testing.
***functional specs***
- :App: should take credentials json as the only positional argument.
- :App: should authenticate with :API:.
- :App: should fetch :ListOfUsers: from :API: and print them to the console.
*codeplain generated python code
trello-client.py
def main(args=None):
try:
logger = setup_logging()
logger.info("Application started")
args = parse_arguments(args)
credentials = load_credentials(args.credentials_file, logger)
logger.info("Credentials loaded successfully")
session = authenticate_with_intercom(
credentials['access_token'], logger
)
logger.info("Authentication successful")
users = fetch_intercom_users(session, logger)
print("Intercom Users:")
for user in users:
print(f"Name: {user.get('name', 'N/A')}, Email: {user.get('email', 'N/A')}")
except Exception as e:
logger.error(f"An error occurred: {e}", exc_info=True)
saas integration
task manager
specification in ***plain
trello-client.plain
---
description: 'Trello client application'
import:
- python-console-app-template
- saas-client-reqs
---
***definitions***
- :API: is the API of the 3rd party SaaS service.
- :ListOfUsers: is the list of users of the 3rd party SaaS service.
***implementation reqs***
- The resource [trello-openapi.json](trello-openapi.json) describes :API:.
***test reqs***
- The resource [trello-credentials.json](trello-credentials.json) contains credentials that can be used for testing.
***functional specs***
- :App: should take credentials json as the only positional argument.
- :App: should authenticate with :API:.
- :App: should fetch :ListOfUsers: from :API: and print them to the console.
*codeplain generated python code
trello-client.py
def main(args=None):
try:
logger = setup_logging()
logger.info("Application started")
args = parse_arguments(args)
credentials = load_credentials(args.credentials_file, logger)
logger.info("Credentials loaded successfully")
session = authenticate_with_intercom(
credentials['access_token'], logger
)
logger.info("Authentication successful")
users = fetch_intercom_users(session, logger)
print("Intercom Users:")
for user in users:
print(f"Name: {user.get('name', 'N/A')}, Email: {user.get('email', 'N/A')}")
except Exception as e:
logger.error(f"An error occurred: {e}", exc_info=True)
saas integration
task manager
specification in ***plain
trello-client.plain
---
description: 'Trello client application'
import:
- python-console-app-template
- saas-client-reqs
---
***definitions***
- :API: is the API of the 3rd party SaaS service.
- :ListOfUsers: is the list of users of the 3rd party SaaS service.
***implementation reqs***
- The resource [trello-openapi.json](trello-openapi.json) describes :API:.
***test reqs***
- The resource [trello-credentials.json](trello-credentials.json) contains credentials that can be used for testing.
***functional specs***
- :App: should take credentials json as the only positional argument.
- :App: should authenticate with :API:.
- :App: should fetch :ListOfUsers: from :API: and print them to the console.
*codeplain generated python code
trello-client.py
def main(args=None):
try:
logger = setup_logging()
logger.info("Application started")
args = parse_arguments(args)
credentials = load_credentials(args.credentials_file, logger)
logger.info("Credentials loaded successfully")
session = authenticate_with_intercom(
credentials['access_token'], logger
)
logger.info("Authentication successful")
users = fetch_intercom_users(session, logger)
print("Intercom Users:")
for user in users:
print(f"Name: {user.get('name', 'N/A')}, Email: {user.get('email', 'N/A')}")
except Exception as e:
logger.error(f"An error occurred: {e}", exc_info=True)
saas integration
task manager
review the specification, not the code
review the specification, not the code
with ***plain, your specifications become the source of truth. *codeplain turns structured english into production-ready software with full test coverage—no code review required.
with ***plain, your specifications become the source of truth. *codeplain turns structured english into production-ready software with full test coverage—no code review required.
automatically tested,
maintainable by design
automatically tested,
maintainable by design
automatically tested,
maintainable by design
every ***plain spec includes testing requirements. *codeplain auto-generates unit and conformance tests and executes them within your infrastructure.
every ***plain spec includes testing requirements. *codeplain auto-generates unit and conformance tests and executes them within your infrastructure.
every ***plain spec includes testing requirements. *codeplain auto-generates unit and conformance tests and executes them within your infrastructure.
test results
test results
passed
passed
authentication flow
authentication flow
data validation
data validation
api endpoints
api endpoints
ran all test suites.
ran all test suites.
collaborative ai-powered software development
collaborative ai-powered software development
collaborative ai-powered software development
ai assists every step of development, enabling engineers to collaborate more effectively through shared specifications, automated workflows, and consistent code generation.
ai assists every step of development, enabling engineers to collaborate more effectively through shared specifications, automated workflows, and consistent code generation.
ai assists every step of development, enabling engineers to collaborate more effectively through shared specifications, automated workflows, and consistent code generation.
specs are the new source code
specs are the new source code
specs are the new source code
*codeplain turns structured specifications into fully tested, production-ready software—eliminating the need to read or review generated code.
*codeplain turns structured specifications into fully tested, production-ready software—eliminating the need to read or review generated code.
*codeplain turns structured specifications into fully tested, production-ready software—eliminating the need to read or review generated code.
specifications
language built for ai code generation
language built for ai code generation
language built for ai code generation
***plain is a structured english specification language purpose-built for ai-powered code generation. It abstracts implementation details to make generated software reliable, testable, and easy to maintain.
***plain is a structured english specification language purpose-built for ai-powered code generation. It abstracts implementation details to make generated software reliable, testable, and easy to maintain.
***plain is a structured english specification language purpose-built for ai-powered code generation. It abstracts implementation details to make generated software reliable, testable, and easy to maintain.
***definitions***
***definitions***
***implementation reqs***
***implementation reqs***
***test reqs***
***test reqs***
***functional reqs***
***functional reqs***
turn ***plain specs into
production-ready software
turn ***plain specs into
production-ready software
turn ***plain specs into
production-ready software
codeplain, inc., 1160 battery street east,
suite 100, san francisco, ca 94111