Skip to content

feat: major expansion v1.1.0 - 11+ stacks and clean output#25

Merged
yss-ef merged 28 commits into
mainfrom
dev
Jun 1, 2026
Merged

feat: major expansion v1.1.0 - 11+ stacks and clean output#25
yss-ef merged 28 commits into
mainfrom
dev

Conversation

@yss-ef

@yss-ef yss-ef commented Jun 1, 2026

Copy link
Copy Markdown
Owner

Summary

This PR promotes the dev branch to main, introducing a major expansion of the devctl ecosystem.

Key Features

  • 11+ Supported Stacks: Full support (init, add, run, dockerize) for Spring Boot, NestJS, Express, FastAPI, Django, Go (Fiber), Angular, Vue, React, NextJS, and Svelte.
  • Advanced Orchestration: Multi-service startup with log prefixing and database-first sequencing.
  • Professional Look: Refactored CLI output to be clean, emoji-free, and color-coded.
  • Robustness: Replaced regex with PyYAML for reliable configuration parsing.
  • Full Test Suite: Increased coverage to 60+ automated tests.
  • Comprehensive Docs: New README and COMMANDS.md reference.

Verification

  • 60/60 tests passed.
  • Ruff linting and formatting verified.
  • Manual verification of cross-stack orchestration.

yss-ef added 26 commits June 1, 2026 09:00
- Bump version to 1.0.0
- Add PyYAML dependency
- Refactor deploy command to use PyYAML for robust parsing
- Refactor run command and runner for multi-service microservices support
- Implement thread-based log streaming with service prefixes
- Add CONTRIBUTING.md and update README.md
f.write(schema_content)

# 2. Generate Router
router_content = f"""from fastapi import APIRouter, HTTPException
Comment thread devctl/commands/deploy.py

db_dict = _build_db_dict(db_type, db_port, db_name, db_user, db_pass)

...
Comment thread devctl/commands/deploy.py
if db_type == "mongodb" and "mongo" in image:
db_dict["service_name"] = s_name
break
except Exception:
candidates.append(("fastapi", project_path))
elif "django" in reqs.lower():
candidates.append(("django", project_path))
except Exception:
reqs = (project_path / "requirements.txt").read_text()
if "django" in reqs.lower():
candidates.append(("django", project_path))
except Exception:
Comment thread devctl/orchestrator/scanner.py Fixed
@yss-ef yss-ef merged commit d825e27 into main Jun 1, 2026
9 checks passed
if "django" in req_content and not env_state["has_django"]:
env_state["has_django"] = True
env_state["django_path"] = str(current_path)
except Exception:
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.

2 participants