Skip to content

Feat/restructure#35

Merged
neo7337 merged 4 commits intomainfrom
feat/restructure
Mar 16, 2026
Merged

Feat/restructure#35
neo7337 merged 4 commits intomainfrom
feat/restructure

Conversation

@neo7337
Copy link
Copy Markdown
Owner

@neo7337 neo7337 commented Mar 16, 2026

This pull request refactors the backend service for the Go project scaffolding tool by reorganizing the codebase, updating build and CI workflows, and introducing a new command-line interface (goini). The backend code is moved out of the backend/ directory into a new structure under cmd/server/ and internal/, and a new CLI tool is added under cmd/goini/ with comprehensive commands and tests. The CI/CD workflows are updated to reflect these changes, and legacy backend files are removed.

Backend codebase reorganization:

  • Removed the entire backend/ directory, including the backend entry point (main.go), configuration loader (config.go), module definition (go.mod), and documentation (README.md). [1] [2] [3] [4]

New CLI tool implementation (goini):

  • Added a new command-line interface in cmd/goini/ with commands for version, shell completion, listing supported project types/frameworks/addons, and project scaffolding. Includes thorough test coverage for all commands. [1] [2] [3] [4]

CI/CD workflow updates:

  • Updated .github/workflows/backend.yml and .github/workflows/release.yml to build and test code in cmd/server/ and internal/ instead of backend/. Docker build context and paths are adjusted accordingly. [1] [2] [3] [4]

These changes modernize the project structure, streamline build and release processes, and introduce a robust CLI for end users.

neo7337 added 4 commits March 15, 2026 19:59
- Add generator interfaces and registry for project types and addons in `registry.go`.
- Create response structures for success and error responses in `response.go`.
- Define `CreateProjectRequest` struct for handling project creation requests in `types.go`.
- Implement HTTP handlers for metadata retrieval and project generation in `handler.go`.
- Set up routing and middleware for the server in `router.go`.
- Initialize the server with proper configurations in `server.go`.
- Add a new executable script for starting the server.
- Update task documentation to reflect the new structure and features.
…r handlers

- Implemented unit tests for the SimpleProjectGenerator, MicroserviceGenerator, and CLIAppGenerator in `internal/generator/generators_test.go`, covering various scenarios including project creation, Docker support, and addon integration.
- Added tests for the server handlers in `internal/server/handler_test.go`, ensuring proper response codes and validation for the `/api/meta` and `/api/generate` endpoints.
- Updated `tasks.md` to reflect the completion of CLI wiring tasks for project generation.
@neo7337 neo7337 merged commit d325f7b into main Mar 16, 2026
1 check passed
@neo7337 neo7337 deleted the feat/restructure branch March 23, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant