English | Japanese
The SICore framework is a lightweight Java framework designed to support "programming beginners" and "code generation by AI".
In contrast to feature-rich frameworks, it eliminates annotations and complex configurations, adopting a simple and understandable architecture.
β οΈ Note: This project is under development. Some parts are incomplete, but basic features are available for trial.
π About Translation: All English text in this project (including documentation and code comments) is translated by AI. Please understand that there may be awkward or difficult-to-understand expressions.
- JSON-centric design: Communication between browser and server uses only JSON. No template engines are used, and HTML is treated as static files.
- Library-less: External library dependencies are minimized. Tomcat is not required. (Runs on JDK standard features only)
- URL = Class name: No routing configuration required. URL paths are directly mapped to Java class names.
- URL:
/services/exmodule/ExampleListSearch - Class:
com.example.app.service.exmodule.ExampleListSearch
- URL:
- Annotation-less: Eliminates annotations that tend to obscure code processing content. This makes code execution flow easier to trace.
- Io class: The
Ioclass extendsMap<String, String>to achieve NULL-safe and type-safe data operations. - Bug prevention: Duplicate key checks and existence check features prevent simple mistakes.
- HTML reuse: Developers can use HTML mockups created by web designers directly as production code.
- Original CSS framework: Provides an original CSS framework that enables responsive design implementation with minimal CSS class specifications.
Designed to make it easy for AI coding assistants such as GitHub Copilot to generate high-quality code.
- AI guidelines:
.github/copilot-instructions.mdenables AI to accurately understand the framework conventions. - Token optimization: In addition to human-oriented documentation, provides concise AI-specific documentation. Also, in documentation shared with humans, AI-unnecessary parts are enclosed with
<!-- AI_SKIP_START -->markers to reduce the amount of tokens AI reads. - Standardized patterns: UI implementation patterns and business logic implementation patterns are unified, enabling AI to generate highly accurate code.
- Traceable code: The entire framework is provided as source code, making it easier for AI to trace code execution flow.
[project root]/
βββ docs/ # Documentation
β βββ 01-introductions/ # Overview
β βββ 02-develop-standards/ # Development standards & patterns
β βββ 03-coding-rules/ # Coding rules
β βββ 11-api-references/ # API references
β βββ 21-ai-guides/ # AI prompt guides
β βββ 31-ai-api-references/ # AI API references
βββ pages/ # Frontend (HTML/JavaScript)
β βββ app/ # Sample screens
β βββ lib/ # Framework core (JavaScript/CSS)
βββ src/ # Backend (Java)
β βββ com/example/app/ # Sample code
β βββ com/onpg/ # Framework core (Java)
βββ ai-test-prompts/ # Test AI prompt guides
Refer to the following documentation before starting development.
- Web Page Structure Standard (HTML/JavaScript/CSS)
- Web Service Structure Standard (Java)
- Batch Processing Structure Standard (Java)
- Event Coding Patterns
- Batch Processing Coding Patterns
- JSDoc:
docs/11-api-references/01-jsdoc/ - CSSDoc:
docs/11-api-references/02-cssdoc/ - JavaDoc:
docs/11-api-references/11-javadoc/
Download the project from GitHub.
- Click the "Code" button on the GitHub repository page.
- Select "Download ZIP".
- Extract the downloaded ZIP file to any folder.
- Launch VS Code.
- Select the folder where the ZIP file was extracted via "File" β "Open Folder".
- When the VS Code "Do you trust the authors?" dialog box appears, select "Yes".
- Select
src/com/onepg/web/StandaloneServerStarter.java. - Press the
F5key or select "Debug Java" from the right-click menu. - Wait until the startup completion message is displayed in the console.
Access the following URL in your browser.
http://localhost:8000/pages/
- A list of sample screens is displayed. You can check the operation by clicking the link for each screen.
- To stop the server, run
src/com/onepg/web/StandaloneServerStopper.java.
- HTML/JavaScript:
pages/app/exmodule/ - Java:
src/com/example/app/service/exmodule/ - DB definitions/Test data:
example_db/example_data_create.sql,example_db/data/example.dbf
The development procedure using AI tools such as GitHub Copilot is as follows.
- Create requirements: Describe the requirements for the feature you want to create in an md file.
- Instruct AI: Specify the md file and instruct AI to code. AI follows
.github/copilot-instructions.md, reads the necessary documentation, and generates code according to the requirements. - Verify operation: Verify the operation of the generated code, and if there are any issues, inform AI of the content. AI identifies the cause and fixes the code.
You can experience actual AI coding using the sample requirements included in the repository. Open the project in VS Code (if you haven't already, refer to "How to Verify Sample Screens" above), and enter the following prompt in Copilot Chat.
Generate screen functionality with the requirements in
ai-test-prompts/order-prompt.md.
- AI reads the requirements definition document and automatically generates the necessary HTML, JavaScript, and Java code.
- After generation, refer to AI Prompt Guide (Debug & Fix).
β οΈ Use an AI agent that strictly adheres to instructions. (As of December 2025, Claude Opus 4.5 is recommended)- π« Highly creative AI agents may not be suitable for this task.
Currently, this project is under development, so pull requests are not accepted. However, bug reports and opinions/requests are welcome! Please create from Issue.
If you like this project, please consider supporting on GitHub Sponsors. Your support will be used to secure time for coding and documentation creation, and to maintain the development environment and AI tools.
β Just starring us is a great encouragement!
This project includes the following third-party software.
| Software | License | Description |
|---|---|---|
SQLite (sqlite3.exe) |
Public Domain | SQLite database engine |
SQLite JDBC Driver (sqlite-jdbc-3.50.2.0.jar) |
Apache License 2.0 | JDBC driver for SQLite |
SQLite is in the public domain and has no restrictions on use, modification, or redistribution.
SQLite JDBC Driver is distributed under Apache License 2.0. Refer to the licenses/ folder for the full license text.
Β© 2025 sugaiketadao (onepg.com)