@tera-system/core 0.2.2 → 0.2.4
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.
- package/MANIFEST.json +7 -5
- package/README.md +26 -0
- package/RELEASES.md +32 -0
- package/WELCOME.md +7 -0
- package/agents/tera-client-engagement.md +1 -0
- package/assets/project-control/TeraPricingCalculator.xlsx +0 -0
- package/assets/tera-workshop/client-templates/branding/Discovery Template.html +1187 -0
- package/assets/tera-workshop/client-templates/branding/footer.png +0 -0
- package/assets/tera-workshop/client-templates/branding/header.png +0 -0
- package/assets/tera-workshop/client-templates/branding/letterhead-master-fixed-print.html +361 -0
- package/assets/tera-workshop/client-templates/branding/teranoo-logo.png +0 -0
- package/assets/tera-workshop/client-templates/commercial/APPLICATION_PROPOSAL_TEMPLATE.md +196 -0
- package/assets/tera-workshop/client-templates/commercial/DRAFT_QUOTATION_TEMPLATE.md +101 -0
- package/assets/tera-workshop/client-templates/commercial/PROJECT_CHARTER_TEMPLATE.md +123 -0
- package/assets/tera-workshop/client-templates/commercial/QUOTATION_TEMPLATE.md +139 -0
- package/assets/tera-workshop/client-templates/commercial/SCOPE_OF_WORK_TEMPLATE.md +124 -0
- package/assets/tera-workshop/client-templates/commercial/SCOPE_SUMMARY_TEMPLATE.md +106 -0
- package/assets/tera-workshop/client-templates/commercial/TECHNICAL_PROPOSAL_TEMPLATE.md +106 -0
- package/assets/tera-workshop/client-templates/contractual/CHANGE_REQUEST_FORM.md +83 -0
- package/assets/tera-workshop/client-templates/contractual/PROTOTYPE_APPROVAL_LETTER_TEMPLATE.md +91 -0
- package/assets/tera-workshop/client-templates/contractual/SLA_TEMPLATE.md +67 -0
- package/assets/tera-workshop/client-templates/contractual/SOFTWARE_SERVICES_AGREEMENT_TEMPLATE.md +170 -0
- package/assets/tera-workshop/client-templates/contractual/STATUS_REPORT_TEMPLATE.md +84 -0
- package/assets/tera-workshop/client-templates/handover/CLIENT_SATISFACTION_SURVEY_TEMPLATE.md +61 -0
- package/assets/tera-workshop/client-templates/handover/COMPLETION_CERTIFICATE_TEMPLATE.md +50 -0
- package/assets/tera-workshop/client-templates/handover/HANDOVER_REPORT_TEMPLATE.md +80 -0
- package/assets/tera-workshop/client-templates/pre-contract/CLIENT_BRIEF_TEMPLATE.md +133 -0
- package/assets/tera-workshop/client-templates/pre-contract/CLIENT_INTAKE_FORM.md +92 -0
- package/assets/tera-workshop/client-templates/pre-contract/GAP_ANALYSIS_TEMPLATE.md +46 -0
- package/assets/tera-workshop/client-templates/pre-contract/MEETING_REPORT_TEMPLATE.md +87 -0
- package/assets/tera-workshop/client-templates/pre-contract/NDA_TEMPLATE.md +74 -0
- package/assets/tera-workshop/client-templates/pre-contract/RISK_REGISTER_TEMPLATE.md +46 -0
- package/assets/tera-workshop/client-templates/pre-contract/USER_PERSONA_MATRIX_TEMPLATE.md +73 -0
- package/core/tera-system/AGENT_DEPENDENCY_MAP.md +21 -24
- package/core/tera-system/TERA_DISTRIBUTION_POLICY.md +27 -27
- package/core/tera-system/TeraArchitectureMap.md +2 -2
- package/core/tera-system/TeraClientPolicy.md +2 -2
- package/core/tera-system/TeraPolicyMap.md +2 -2
- package/core/tera-system/TeraPricingPolicy.md +18 -0
- package/core/tera-system/client-helpers/tera-client-engagement-discovery-domains.md +4 -3
- package/core/tera-system/runtime/TERA_RUNTIME_TEMPLATES.md +1 -1
- package/core/tera-system/runtime/TERA_RUNTIME_TEMPLATES_PREPARATION.md +4 -2
- package/core/tera-system/runtime/VERSION_LIFECYCLE_PROTOCOL.md +1 -1
- package/package.json +6 -1
- package/scripts/build.mjs +2 -0
- package/scripts/install.js +4 -0
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="ar" dir="rtl">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Teranoo Letterhead Fixed Print</title>
|
|
7
|
+
<style>
|
|
8
|
+
:root {
|
|
9
|
+
--page-width: 210mm;
|
|
10
|
+
--page-height: 297mm;
|
|
11
|
+
--page-padding-x: 16mm;
|
|
12
|
+
--header-height: 34mm;
|
|
13
|
+
--header-gap: 7mm;
|
|
14
|
+
--footer-height: 20mm;
|
|
15
|
+
--footer-gap: 7mm;
|
|
16
|
+
--ink: #17233c;
|
|
17
|
+
--muted: #5c6784;
|
|
18
|
+
--line: #dfe6f2;
|
|
19
|
+
--soft: #f8faff;
|
|
20
|
+
--screen-bg: #eef2f7;
|
|
21
|
+
--screen-shadow: 0 18px 44px rgba(15, 23, 42, 0.14);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@page {
|
|
25
|
+
size: A4;
|
|
26
|
+
margin: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
* {
|
|
30
|
+
box-sizing: border-box;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
html, body {
|
|
34
|
+
margin: 0;
|
|
35
|
+
padding: 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
body {
|
|
39
|
+
background: var(--screen-bg);
|
|
40
|
+
color: var(--ink);
|
|
41
|
+
font-family: "Segoe UI", Tahoma, Arial, sans-serif;
|
|
42
|
+
line-height: 1.75;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.print-page {
|
|
46
|
+
width: var(--page-width);
|
|
47
|
+
min-height: var(--page-height);
|
|
48
|
+
margin: 16px auto;
|
|
49
|
+
background: #fff;
|
|
50
|
+
box-shadow: var(--screen-shadow);
|
|
51
|
+
overflow: hidden;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.print-table {
|
|
55
|
+
width: 100%;
|
|
56
|
+
min-height: var(--page-height);
|
|
57
|
+
border-collapse: collapse;
|
|
58
|
+
table-layout: fixed;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.print-table thead,
|
|
62
|
+
.print-table tfoot {
|
|
63
|
+
background: #fff;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.print-table thead td,
|
|
67
|
+
.print-table tfoot td,
|
|
68
|
+
.print-table tbody td {
|
|
69
|
+
padding: 0;
|
|
70
|
+
vertical-align: top;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.page-header,
|
|
74
|
+
.page-footer {
|
|
75
|
+
padding-right: var(--page-padding-x);
|
|
76
|
+
padding-left: var(--page-padding-x);
|
|
77
|
+
background: #fff;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.page-header {
|
|
81
|
+
height: calc(var(--header-height) + var(--header-gap));
|
|
82
|
+
padding-top: 2mm;
|
|
83
|
+
padding-bottom: var(--header-gap);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.page-footer {
|
|
87
|
+
height: calc(var(--footer-height) + var(--footer-gap));
|
|
88
|
+
padding-top: var(--footer-gap);
|
|
89
|
+
padding-bottom: 2mm;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.page-header img,
|
|
93
|
+
.page-footer img {
|
|
94
|
+
width: 100%;
|
|
95
|
+
display: block;
|
|
96
|
+
object-fit: contain;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.document {
|
|
100
|
+
padding: 0 var(--page-padding-x);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.doc__top {
|
|
104
|
+
display: flex;
|
|
105
|
+
justify-content: space-between;
|
|
106
|
+
gap: 6mm;
|
|
107
|
+
font-size: 10pt;
|
|
108
|
+
color: var(--muted);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.doc__top strong {
|
|
112
|
+
color: var(--ink);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.doc__chip {
|
|
116
|
+
display: flex;
|
|
117
|
+
width: fit-content;
|
|
118
|
+
justify-content: center;
|
|
119
|
+
margin: 3mm auto 0;
|
|
120
|
+
padding: 1.4mm 6mm;
|
|
121
|
+
border: 1px solid var(--line);
|
|
122
|
+
border-radius: 999px;
|
|
123
|
+
background: var(--soft);
|
|
124
|
+
font-size: 9.5pt;
|
|
125
|
+
font-weight: 700;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.doc__subject {
|
|
129
|
+
margin: 3.5mm 0 0;
|
|
130
|
+
padding-bottom: 2.2mm;
|
|
131
|
+
border-bottom: 1px solid #e7edf7;
|
|
132
|
+
font-size: 11.5pt;
|
|
133
|
+
font-weight: 700;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.doc__meta-grid {
|
|
137
|
+
display: grid;
|
|
138
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
139
|
+
gap: 2mm 6mm;
|
|
140
|
+
margin-top: 3mm;
|
|
141
|
+
font-size: 10pt;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.field {
|
|
145
|
+
display: flex;
|
|
146
|
+
gap: 2mm;
|
|
147
|
+
align-items: baseline;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.field__label {
|
|
151
|
+
white-space: nowrap;
|
|
152
|
+
font-weight: 700;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.field__value {
|
|
156
|
+
flex: 1;
|
|
157
|
+
min-width: 0;
|
|
158
|
+
padding-bottom: 0.6mm;
|
|
159
|
+
border-bottom: 1px dotted #cbd6e8;
|
|
160
|
+
color: var(--muted);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.doc__recipient {
|
|
164
|
+
margin-top: 4mm;
|
|
165
|
+
font-size: 10.3pt;
|
|
166
|
+
line-height: 1.6;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.doc__recipient p,
|
|
170
|
+
.doc__body p {
|
|
171
|
+
margin: 0 0 2.4mm;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.doc__body {
|
|
175
|
+
margin-top: 2mm;
|
|
176
|
+
font-size: 10.7pt;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.doc__body h3 {
|
|
180
|
+
margin: 5mm 0 2mm;
|
|
181
|
+
font-size: 10.8pt;
|
|
182
|
+
break-after: avoid-page;
|
|
183
|
+
page-break-after: avoid;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.doc__body ul {
|
|
187
|
+
margin: 0 0 2.4mm;
|
|
188
|
+
padding: 0 5mm 0 0;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.doc__body li {
|
|
192
|
+
margin-bottom: 1.4mm;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.no-break {
|
|
196
|
+
break-inside: avoid-page;
|
|
197
|
+
page-break-inside: avoid;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.doc__sign {
|
|
201
|
+
display: flex;
|
|
202
|
+
gap: 10mm;
|
|
203
|
+
margin-top: 5mm;
|
|
204
|
+
padding-top: 4mm;
|
|
205
|
+
border-top: 1px solid #e7edf7;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.sign-box {
|
|
209
|
+
flex: 1;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.sign-box__label {
|
|
213
|
+
margin-bottom: 6mm;
|
|
214
|
+
font-size: 10.2pt;
|
|
215
|
+
font-weight: 700;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.sign-box__line {
|
|
219
|
+
margin-top: 2mm;
|
|
220
|
+
padding-top: 2mm;
|
|
221
|
+
border-top: 1px solid #9aa7c2;
|
|
222
|
+
color: var(--muted);
|
|
223
|
+
font-size: 9.7pt;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
@media print {
|
|
227
|
+
body {
|
|
228
|
+
background: #fff;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.print-page {
|
|
232
|
+
width: 100%;
|
|
233
|
+
min-height: 0;
|
|
234
|
+
margin: 0;
|
|
235
|
+
box-shadow: none;
|
|
236
|
+
overflow: visible;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.print-table {
|
|
240
|
+
width: 100%;
|
|
241
|
+
min-height: 0;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.print-table thead {
|
|
245
|
+
display: table-header-group;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.print-table tfoot {
|
|
249
|
+
display: table-footer-group;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.print-table tbody {
|
|
253
|
+
display: table-row-group;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
</style>
|
|
257
|
+
</head>
|
|
258
|
+
<body>
|
|
259
|
+
<main class="print-page">
|
|
260
|
+
<table class="print-table" role="presentation">
|
|
261
|
+
<thead>
|
|
262
|
+
<tr>
|
|
263
|
+
<td>
|
|
264
|
+
<header class="page-header" aria-hidden="true">
|
|
265
|
+
<img src="header.png" alt="Teranoo header">
|
|
266
|
+
</header>
|
|
267
|
+
</td>
|
|
268
|
+
</tr>
|
|
269
|
+
</thead>
|
|
270
|
+
<tfoot>
|
|
271
|
+
<tr>
|
|
272
|
+
<td>
|
|
273
|
+
<footer class="page-footer" aria-hidden="true">
|
|
274
|
+
<img src="footer.png" alt="Teranoo footer">
|
|
275
|
+
</footer>
|
|
276
|
+
</td>
|
|
277
|
+
</tr>
|
|
278
|
+
</tfoot>
|
|
279
|
+
<tbody>
|
|
280
|
+
<tr>
|
|
281
|
+
<td>
|
|
282
|
+
<section class="document">
|
|
283
|
+
<div class="doc__top">
|
|
284
|
+
<div><strong>التاريخ:</strong> 2026/07/04</div>
|
|
285
|
+
<div><strong>الرقم:</strong> TDS-LET-2026-001</div>
|
|
286
|
+
</div>
|
|
287
|
+
|
|
288
|
+
<div class="doc__chip">خطاب رسمي</div>
|
|
289
|
+
|
|
290
|
+
<p class="doc__subject">الموضوع: نموذج كتاب رسمي متعدد الصفحات للطباعة المؤسسية</p>
|
|
291
|
+
|
|
292
|
+
<div class="doc__meta-grid no-break">
|
|
293
|
+
<div class="field">
|
|
294
|
+
<span class="field__label">إلى:</span>
|
|
295
|
+
<span class="field__value">السادة / ............................................................</span>
|
|
296
|
+
</div>
|
|
297
|
+
<div class="field">
|
|
298
|
+
<span class="field__label">عناية:</span>
|
|
299
|
+
<span class="field__value">............................................................</span>
|
|
300
|
+
</div>
|
|
301
|
+
<div class="field">
|
|
302
|
+
<span class="field__label">المرجع:</span>
|
|
303
|
+
<span class="field__value">............................................................</span>
|
|
304
|
+
</div>
|
|
305
|
+
<div class="field">
|
|
306
|
+
<span class="field__label">المرفقات:</span>
|
|
307
|
+
<span class="field__value">............................................................</span>
|
|
308
|
+
</div>
|
|
309
|
+
</div>
|
|
310
|
+
|
|
311
|
+
<div class="doc__recipient no-break">
|
|
312
|
+
<p><strong>السادة المحترمون،</strong></p>
|
|
313
|
+
<p>تحية طيبة وبعد،</p>
|
|
314
|
+
</div>
|
|
315
|
+
|
|
316
|
+
<div class="doc__body">
|
|
317
|
+
<p>هذه النسخة تعتمد على منطق طباعة أكثر ثباتًا من الاعتماد على مكتبة خارجية في بيئة ملف محلي. الفكرة هنا أن الترويسة والتذييل يتم تثبيتهما أثناء الطباعة، بينما يبقى متن الكتاب متدفقًا بشكل طبيعي على عدد الصفحات المطلوب.</p>
|
|
318
|
+
<p>بهذا الشكل، إذا زاد طول الكتاب على صفحة واحدة، ينتقل النص تلقائيًا إلى الصفحة التالية، مع بقاء الهوية البصرية في الأعلى والأسفل في كل صفحة مطبوعة، بشرط أن يكون المتصفح المستخدم يدعم تكرار العناصر الثابتة في الطباعة كما هو متوقع في Chrome وEdge غالبًا.</p>
|
|
319
|
+
|
|
320
|
+
<h3>متى يكون هذا الخيار أفضل</h3>
|
|
321
|
+
<p>هذا الخيار أفضل عندما يكون المطلوب قالب طباعة مؤسسي يعمل مباشرة من ملف HTML محلي، بدون الاعتماد على تحميل مكتبة من الإنترنت أو انتظار polyfill ليتحكم في تقسيم الصفحات داخل المعاينة.</p>
|
|
322
|
+
|
|
323
|
+
<h3>قواعد الاستخدام</h3>
|
|
324
|
+
<ul>
|
|
325
|
+
<li>ضع كل متن الكتاب داخل هذا القسم فقط.</li>
|
|
326
|
+
<li>لا تستخدم عناصر بتموضع مطلق داخل متن المستند.</li>
|
|
327
|
+
<li>طبّق الفئة <code>no-break</code> على كتل التوقيع أو أي جزء لا يجب أن ينكسر.</li>
|
|
328
|
+
<li>إذا كان لديك جدول طويل جدًا، فالأفضل تصميم نسخة طباعة مخصصة له.</li>
|
|
329
|
+
</ul>
|
|
330
|
+
|
|
331
|
+
<h3>نص تجريبي طويل</h3>
|
|
332
|
+
<p>نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر. نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر.</p>
|
|
333
|
+
<p>نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر. نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر.</p>
|
|
334
|
+
<p>نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر. نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر.</p>
|
|
335
|
+
<p>نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر. نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر.</p>
|
|
336
|
+
<p>نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر. نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر.</p>
|
|
337
|
+
<p>نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر. نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر.</p>
|
|
338
|
+
<p>نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر. نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر.</p>
|
|
339
|
+
<p>نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر. نود الإشارة إلى أن هذا النص مكرر لأغراض الفحص البصري فقط، وهو موجود هنا للتأكد من أن المحتوى عند امتداده إلى أكثر من صفحة سيبقى منظمًا ولن يصطدم مع الهيدر أو الفوتر.</p>
|
|
340
|
+
</div>
|
|
341
|
+
|
|
342
|
+
<div class="doc__sign no-break">
|
|
343
|
+
<div class="sign-box">
|
|
344
|
+
<div class="sign-box__label">الاسم والتوقيع</div>
|
|
345
|
+
<div class="sign-box__line">الاسم: .......................................</div>
|
|
346
|
+
<div class="sign-box__line">المسمى الوظيفي: .......................................</div>
|
|
347
|
+
<div class="sign-box__line">التوقيع: .......................................</div>
|
|
348
|
+
</div>
|
|
349
|
+
<div class="sign-box">
|
|
350
|
+
<div class="sign-box__label">الختم</div>
|
|
351
|
+
<div class="sign-box__line">.......................................</div>
|
|
352
|
+
</div>
|
|
353
|
+
</div>
|
|
354
|
+
</section>
|
|
355
|
+
</td>
|
|
356
|
+
</tr>
|
|
357
|
+
</tbody>
|
|
358
|
+
</table>
|
|
359
|
+
</main>
|
|
360
|
+
</body>
|
|
361
|
+
</html>
|
|
Binary file
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
---
|
|
2
|
+
document_type: application_proposal
|
|
3
|
+
template_version: v0.1-draft
|
|
4
|
+
category: commercial
|
|
5
|
+
source_html: tera-workshop/temp/APPLICATION_PROPOSAL_TEMPLATE.html
|
|
6
|
+
used_by: TeraClientEngagementAgent
|
|
7
|
+
client_facing: true
|
|
8
|
+
approval_required: Majed
|
|
9
|
+
client_signature_required: optional
|
|
10
|
+
legal_review_required: false
|
|
11
|
+
related_documents:
|
|
12
|
+
- QUOTATION_TEMPLATE
|
|
13
|
+
- SCOPE_OF_WORK_TEMPLATE
|
|
14
|
+
status: TEMPLATE
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Application Proposal — `[APP_NAME]`
|
|
18
|
+
|
|
19
|
+
> **نوع الوثيقة:** عرض مبدئي للتطبيق
|
|
20
|
+
> **الهدف:** توضيح فهم المشروع، نطاق النسخة الأولى، المتطلبات الأساسية، والقيمة المتوقعة.
|
|
21
|
+
> **مهم:** هذه الوثيقة ليست عرض سعر نهائيًا ولا عقدًا ملزمًا بحد ذاتها. إذا وُجد تسعير، فيكون عبر **Quotation** منفصل ومعتمد.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 1. بيانات العرض
|
|
26
|
+
|
|
27
|
+
| الحقل | القيمة |
|
|
28
|
+
|---|---|
|
|
29
|
+
| اسم التطبيق | `[APP_NAME]` |
|
|
30
|
+
| اسم العميل | `[CLIENT_NAME]` |
|
|
31
|
+
| رقم العرض | `[PROPOSAL_ID]` |
|
|
32
|
+
| تاريخ الإصدار | `[PROPOSAL_DATE]` |
|
|
33
|
+
| الحالة | `[STATUS]` |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 2. الملخص التنفيذي
|
|
38
|
+
|
|
39
|
+
`[APP_DESCRIPTION]`
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 3. فهم المشروع والحل المقترح
|
|
44
|
+
|
|
45
|
+
### 3.1 المشكلة الحالية
|
|
46
|
+
|
|
47
|
+
`[PROBLEM_STATEMENT]`
|
|
48
|
+
|
|
49
|
+
### 3.2 الحل المقترح
|
|
50
|
+
|
|
51
|
+
`[SOLUTION_STATEMENT]`
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 4. المستخدمون والأدوار
|
|
56
|
+
|
|
57
|
+
### 4.1 المستخدمون المستهدفون
|
|
58
|
+
|
|
59
|
+
- `[TARGET_USER_1]`
|
|
60
|
+
- `[TARGET_USER_2]`
|
|
61
|
+
- `[TARGET_USER_3]`
|
|
62
|
+
|
|
63
|
+
### 4.2 الأدوار والصلاحيات
|
|
64
|
+
|
|
65
|
+
| الدور | الصلاحيات المختصرة |
|
|
66
|
+
|---|---|
|
|
67
|
+
| `[ROLE_1]` | `[ROLE_1_PERMISSIONS]` |
|
|
68
|
+
| `[ROLE_2]` | `[ROLE_2_PERMISSIONS]` |
|
|
69
|
+
| `[ROLE_3]` | `[ROLE_3_PERMISSIONS]` |
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 5. نطاق العمل
|
|
74
|
+
|
|
75
|
+
### 5.1 النطاق الأساسي للنسخة الأولى
|
|
76
|
+
|
|
77
|
+
- `[CORE_FEATURE_1]`
|
|
78
|
+
- `[CORE_FEATURE_2]`
|
|
79
|
+
- `[CORE_FEATURE_3]`
|
|
80
|
+
- `[CORE_FEATURE_4]`
|
|
81
|
+
|
|
82
|
+
### 5.2 خارج النطاق الحالي
|
|
83
|
+
|
|
84
|
+
- `[OUT_OF_SCOPE_1]`
|
|
85
|
+
- `[OUT_OF_SCOPE_2]`
|
|
86
|
+
- `[OUT_OF_SCOPE_3]`
|
|
87
|
+
|
|
88
|
+
> **ملاحظة:** أي بند خارج النطاق الحالي يحتاج اعتمادًا مستقلًا لاحقًا وقد يؤثر على السعر والجدول الزمني.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 6. المتطلبات الأساسية
|
|
93
|
+
|
|
94
|
+
### 6.1 المتطلبات الوظيفية
|
|
95
|
+
|
|
96
|
+
- `[REQ_FUNCTIONAL_1]`
|
|
97
|
+
- `[REQ_FUNCTIONAL_2]`
|
|
98
|
+
- `[REQ_FUNCTIONAL_3]`
|
|
99
|
+
|
|
100
|
+
### 6.2 المتطلبات التقنية
|
|
101
|
+
|
|
102
|
+
- `[REQ_TECHNICAL_1]`
|
|
103
|
+
- `[REQ_TECHNICAL_2]`
|
|
104
|
+
- `[REQ_TECHNICAL_3]`
|
|
105
|
+
|
|
106
|
+
### 6.3 متطلبات البيانات
|
|
107
|
+
|
|
108
|
+
- `[REQ_DATA_1]`
|
|
109
|
+
- `[REQ_DATA_2]`
|
|
110
|
+
- `[REQ_DATA_3]`
|
|
111
|
+
|
|
112
|
+
### 6.4 متطلبات التصميم
|
|
113
|
+
|
|
114
|
+
- `[REQ_DESIGN_1]`
|
|
115
|
+
- `[REQ_DESIGN_2]`
|
|
116
|
+
|
|
117
|
+
### 6.5 متطلبات الأمان
|
|
118
|
+
|
|
119
|
+
- `[REQ_SECURITY_1]`
|
|
120
|
+
- `[REQ_SECURITY_2]`
|
|
121
|
+
|
|
122
|
+
### 6.6 متطلبات التشغيل
|
|
123
|
+
|
|
124
|
+
- `[REQ_OPERATIONS_1]`
|
|
125
|
+
- `[REQ_OPERATIONS_2]`
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 7. القيمة المتوقعة من التطبيق
|
|
130
|
+
|
|
131
|
+
| المحور | القيمة المتوقعة |
|
|
132
|
+
|---|---|
|
|
133
|
+
| تحسين الكفاءة | `[VALUE_EFFICIENCY]` |
|
|
134
|
+
| وضوح الإجراءات | `[VALUE_CONTROL]` |
|
|
135
|
+
| قابلية التوسع | `[VALUE_SCALABILITY]` |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 8. الافتراضات والنقاط المفتوحة
|
|
140
|
+
|
|
141
|
+
| المجال | الافتراض / النقطة المفتوحة | الحالة |
|
|
142
|
+
|---|---|---|
|
|
143
|
+
| `[ASSUMPTION_1_DOMAIN]` | `[ASSUMPTION_1_TEXT]` | `[ASSUMPTION_1_STATUS: Confirmed / Pending / Deferred]` |
|
|
144
|
+
| `[ASSUMPTION_2_DOMAIN]` | `[ASSUMPTION_2_TEXT]` | `[ASSUMPTION_2_STATUS: Confirmed / Pending / Deferred]` |
|
|
145
|
+
| `[ASSUMPTION_3_DOMAIN]` | `[ASSUMPTION_3_TEXT]` | `[ASSUMPTION_3_STATUS: Confirmed / Pending / Deferred]` |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 9. خارطة التنفيذ المقترحة
|
|
150
|
+
|
|
151
|
+
| المرحلة | الوصف |
|
|
152
|
+
|---|---|
|
|
153
|
+
| المرحلة الأولى | `[PHASE1_DESC]` |
|
|
154
|
+
| المرحلة الثانية | `[PHASE2_DESC]` |
|
|
155
|
+
| مراحل لاحقة | `[PHASE_LATER_DESC]` |
|
|
156
|
+
|
|
157
|
+
> **ملاحظة:** هذه خارطة مبدئية قابلة للتحديث بعد اعتماد النطاق النهائي وخطة التنفيذ.
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## 10. الوثائق المرتبطة
|
|
162
|
+
|
|
163
|
+
| الوثيقة | الحالة | ملاحظات |
|
|
164
|
+
|---|---|---|
|
|
165
|
+
| Quotation | `[LINK_OR_STATUS]` | تسعير منفصل ومعتمد |
|
|
166
|
+
| Scope of Work | `[LINK_OR_STATUS]` | يحدد النطاق والالتزامات |
|
|
167
|
+
| Technical Proposal | `[LINK_OR_STATUS]` | عند الحاجة للمشاريع المتوسطة/الكبيرة |
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 11. الاعتماد والمراجعة
|
|
172
|
+
|
|
173
|
+
### 11.1 اعتماد داخلي — إلزامي
|
|
174
|
+
|
|
175
|
+
| الدور | الاسم | الحالة | التاريخ |
|
|
176
|
+
|---|---|---|---|
|
|
177
|
+
| Prepared by | `[PREPARED_BY]` | `[DRAFT / REVIEWED]` | `[DATE]` |
|
|
178
|
+
| Reviewed / Approved by Majed | `[MAJED_NAME]` | `[APPROVED / CHANGES_REQUESTED]` | `[DATE]` |
|
|
179
|
+
|
|
180
|
+
### 11.2 إقرار العميل — اختياري حسب السياق
|
|
181
|
+
|
|
182
|
+
> يستخدم هذا القسم فقط إذا استُخدمت الوثيقة كمرجع تفاهم أولي مع العميل، وليس كبديل عن العقد أو عرض السعر الرسمي.
|
|
183
|
+
|
|
184
|
+
| الطرف | الاسم | التوقيع / الإقرار | التاريخ |
|
|
185
|
+
|---|---|---|---|
|
|
186
|
+
| ممثل العميل | `[CLIENT_SIGN_NAME]` | `[OPTIONAL]` | `[DATE]` |
|
|
187
|
+
| ممثل Teranoo | `[VENDOR_SIGN_NAME]` | `[OPTIONAL]` | `[DATE]` |
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## 12. ملاحظات الاستخدام
|
|
192
|
+
|
|
193
|
+
1. هذه الوثيقة **Client-Facing Draft** ويُعدّها **TCEA**.
|
|
194
|
+
2. لا تُرسل للعميل قبل اعتماد **Majed**.
|
|
195
|
+
3. لا تُستخدم كعقد أو كعرض سعر نهائي.
|
|
196
|
+
4. إذا تغير النطاق، يجب تحديث هذه الوثيقة أو إرفاق **Scope of Work** و **Change Request** عند الحاجة.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# DRAFT_QUOTATION — [اسم المشروع]
|
|
2
|
+
|
|
3
|
+
**حالة المستند:** 📄 **DRAFT — لم يعتمد بعد**
|
|
4
|
+
**تاريخ الإصدار:** YYYY-MM-DD
|
|
5
|
+
**الجهة:** TeraClientEngagementAgent
|
|
6
|
+
**المرجع:** `tera-system/TeraPricingPolicy.md` (v0.1 Draft)
|
|
7
|
+
**صلاحية هذا العرض:** 14 يوماً / 30 يوماً (للمشاريع الكبيرة)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
> ⚠️ **مسودة عرض سعر — تحتاج اعتماد Majed قبل الإرسال للعميل.**
|
|
12
|
+
> هذا المستند غير ملزم حتى اعتماده من Majed.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 1. معلومات الزبون
|
|
17
|
+
|
|
18
|
+
| الحقل | القيمة |
|
|
19
|
+
|-------|--------|
|
|
20
|
+
| اسم الزبون | |
|
|
21
|
+
| المشروع | |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 2. ملخص النطاق
|
|
26
|
+
|
|
27
|
+
[وصف مختصر لنطاق المشروع — من SCOPE_SUMMARY.md أو CLIENT_BRIEF.md]
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 3. بنود التسعير
|
|
32
|
+
|
|
33
|
+
| # | البند | المستوى | الوحدات | سعر الوحدة (JOD) | الإجمالي (JOD) |
|
|
34
|
+
|---|-------|:-------:|:-------:|:----------------:|:--------------:|
|
|
35
|
+
| 1 | [اسم الميزة/الوحدة] | S / M / C / Cr | | | |
|
|
36
|
+
| 2 | [اسم الميزة/الوحدة] | S / M / C / Cr | | | |
|
|
37
|
+
| 3 | [اسم الميزة/الوحدة] | S / M / C / Cr | | | |
|
|
38
|
+
| 4 | التكاملات الخارجية | — | | | |
|
|
39
|
+
| 5 | Risk Buffer | — | | | (+ %) |
|
|
40
|
+
| | **المجموع** | | | | **______ JOD** |
|
|
41
|
+
|
|
42
|
+
> الأسعار لا تشمل ضريبة المبيعات — تُضاف عند الفوترة حسب القانون.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 4. تفاصيل الاحتساب (داخلية — لا تُعرض للزبون)
|
|
47
|
+
|
|
48
|
+
| البند | القيمة |
|
|
49
|
+
|-------|--------|
|
|
50
|
+
| إجمالي Base Price | ______ JOD |
|
|
51
|
+
| Complexity Factors المستخدمة | |
|
|
52
|
+
| Risk Buffer | ___% (___ JOD) |
|
|
53
|
+
| هامش الربح | 20% (___ JOD) |
|
|
54
|
+
| Minimum Price مطبّق؟ | نعم / لا |
|
|
55
|
+
| **السعر النهائي المقترح** | **______ JOD** |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 5. البنود المستثناة
|
|
60
|
+
|
|
61
|
+
- [ ] ضريبة المبيعات
|
|
62
|
+
- [ ] رسوم حكومية
|
|
63
|
+
- [ ] رسوم بوابات دفع
|
|
64
|
+
- [ ] اشتراكات خارجية (تراخيص، APIs، خدمات طرف ثالث)
|
|
65
|
+
- [ ] تكاليف الاستضافة
|
|
66
|
+
- [ ] تكاليف الدومين و SSL
|
|
67
|
+
- [ ] أخرى: _______
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 6. خطة الدفع المقترحة
|
|
72
|
+
|
|
73
|
+
- [ ] 50% – 25% – 25% (Default)
|
|
74
|
+
- [ ] 40% – 30% – 20% – 10%
|
|
75
|
+
- [ ] أخرى: _______
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 7. مدة الصيانة المجانية
|
|
80
|
+
|
|
81
|
+
3 أشهر Bug Fix Warranty من تاريخ التسليم.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 8. ملاحظات وافتراضات
|
|
86
|
+
|
|
87
|
+
- [افتراض 1]
|
|
88
|
+
- [افتراض 2]
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 9. مساحة التوقيع
|
|
93
|
+
|
|
94
|
+
| الدور | الاسم | التاريخ |
|
|
95
|
+
|-------|-------|---------|
|
|
96
|
+
| أعدّ (TCEA) | TeraClientEngagementAgent | |
|
|
97
|
+
| راجع واعتمد (Majed) | | |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
**هذا المستند مسودة (Draft) ولا يمثل عرضاً رسمياً حتى اعتماده.**
|