devhive 0.1.35__tar.gz → 0.1.36__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {devhive-0.1.35/devhive.egg-info → devhive-0.1.36}/PKG-INFO +1 -1
- {devhive-0.1.35 → devhive-0.1.36/devhive.egg-info}/PKG-INFO +1 -1
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/main.py +56 -4
- {devhive-0.1.35 → devhive-0.1.36}/setup.py +1 -1
- {devhive-0.1.35 → devhive-0.1.36}/LICENSE +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/MANIFEST.in +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/README.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive.egg-info/SOURCES.txt +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive.egg-info/dependency_links.txt +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive.egg-info/entry_points.txt +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive.egg-info/requires.txt +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive.egg-info/top_level.txt +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/__init__.py +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/agents/devhive.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/architecture-patterns/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/architecture-patterns/resources/implementation-playbook.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/backend-arthitect/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/backend-security-coder/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/docker-expert/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/frontend-design/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/frontend-developer/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/theme-showcase.pdf +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/arctic-frost.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/botanical-garden.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/desert-rose.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/forest-canopy.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/golden-hour.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/midnight-galaxy.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/modern-minimalist.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/ocean-depths.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/sunset-boulevard.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/tech-innovation.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_architect/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_auditor/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_backender/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_dba/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_designer/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_devops/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_explorer/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_frontender/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_orchestrator/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_perf/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_prd/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_proposal/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_qa/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_reflection/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_releaser/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_sast/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_taskplanner/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_techwriter/SKILL.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/skills/devhive_workflow.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/templates/AGENTS.backend.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/templates/AGENTS.frontend.md +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/devhive_cli/templates_backend.py +0 -0
- {devhive-0.1.35 → devhive-0.1.36}/setup.cfg +0 -0
|
@@ -1,5 +1,57 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import shutil
|
|
3
|
+
|
|
4
|
+
ZERO_TOUCH_POLICY = """# 🛑 SYSTEM DIRECTIVE: ZERO-TOUCH POLICY (DevHive Enforcement)
|
|
5
|
+
**CRITICAL INSTRUCTION FOR ALL AI AGENTS:**
|
|
6
|
+
This project strictly uses **DevHive (Skill-Driven Development)**. As a general AI agent, you are FORBIDDEN from directly modifying source code, creating files, or writing implementation logic for feature requests.
|
|
7
|
+
|
|
8
|
+
When asked to build a feature, fix a bug, or apply changes, you MUST NOT do it yourself. Instead, your ONLY job is to delegate the task by invoking the DevHive orchestrator.
|
|
9
|
+
|
|
10
|
+
**How to apply changes:**
|
|
11
|
+
If you have access to tool calling, immediately invoke the `devhive` agent or load the `devhive-orchestrator` skill, passing the user's exact request to it. Do not attempt to bypass this pipeline.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def handle_existing_agents_md(dest_path: Path) -> bool:
|
|
18
|
+
"""
|
|
19
|
+
Handles the case where AGENTS.md already exists.
|
|
20
|
+
Returns True if the caller should proceed to overwrite the file, False otherwise.
|
|
21
|
+
"""
|
|
22
|
+
with open(dest_path, "r") as f:
|
|
23
|
+
content = f.read()
|
|
24
|
+
|
|
25
|
+
if "ZERO-TOUCH POLICY" in content:
|
|
26
|
+
click.secho("AGENTS.md already exists and is up to date with DevHive policies.", fg="yellow")
|
|
27
|
+
return False
|
|
28
|
+
|
|
29
|
+
click.secho("⚠️ AGENTS.md already exists, but it is missing the critical DevHive Zero-Touch Policy.", fg="yellow")
|
|
30
|
+
action = click.prompt(
|
|
31
|
+
"Do you want to:
|
|
32
|
+
"
|
|
33
|
+
" [i]nject the policy at the top (preserves your file)
|
|
34
|
+
"
|
|
35
|
+
" [o]verwrite the entire file with a new template
|
|
36
|
+
"
|
|
37
|
+
" [a]bort
|
|
38
|
+
"
|
|
39
|
+
"Action",
|
|
40
|
+
type=click.Choice(['i', 'o', 'a'], case_sensitive=False)
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
if action == 'i':
|
|
44
|
+
with open(dest_path, "w") as f:
|
|
45
|
+
f.write(ZERO_TOUCH_POLICY + "
|
|
46
|
+
" + content)
|
|
47
|
+
click.secho("✅ Zero-Touch Policy injected successfully! Your existing content was preserved.", fg="green", bold=True)
|
|
48
|
+
return False
|
|
49
|
+
elif action == 'o':
|
|
50
|
+
return True
|
|
51
|
+
else:
|
|
52
|
+
click.secho("Aborted.", fg="yellow")
|
|
53
|
+
return False
|
|
54
|
+
|
|
3
55
|
import subprocess
|
|
4
56
|
from pathlib import Path
|
|
5
57
|
import click
|
|
@@ -105,8 +157,8 @@ def init_frontend():
|
|
|
105
157
|
return
|
|
106
158
|
|
|
107
159
|
if dest_path.exists():
|
|
108
|
-
|
|
109
|
-
|
|
160
|
+
if not handle_existing_agents_md(dest_path):
|
|
161
|
+
return
|
|
110
162
|
|
|
111
163
|
shutil.copy2(template_path, dest_path)
|
|
112
164
|
click.secho("✅ Successfully created AGENTS.md with modern Next.js/React frontend guidelines!", fg="green", bold=True)
|
|
@@ -117,8 +169,8 @@ def init_backend():
|
|
|
117
169
|
dest_path = Path.cwd() / "AGENTS.md"
|
|
118
170
|
|
|
119
171
|
if dest_path.exists():
|
|
120
|
-
|
|
121
|
-
|
|
172
|
+
if not handle_existing_agents_md(dest_path):
|
|
173
|
+
return
|
|
122
174
|
|
|
123
175
|
language = click.prompt("Which backend language?", type=click.Choice(['python', 'node']))
|
|
124
176
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/architecture-patterns/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/backend-security-coder/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/theme-showcase.pdf
RENAMED
|
File without changes
|
{devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/arctic-frost.md
RENAMED
|
File without changes
|
|
File without changes
|
{devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/desert-rose.md
RENAMED
|
File without changes
|
{devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/forest-canopy.md
RENAMED
|
File without changes
|
{devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/golden-hour.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devhive-0.1.35 → devhive-0.1.36}/devhive_cli/community_skills/theme-factory/themes/ocean-depths.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|