AiPBX uses a lightweight Specification-Driven Development (SDD) workflow. Before writing code for non-trivial features, we define what we are building, why, and the technical blueprint. This eliminates guesswork, prevents security gaps, and keeps our 1,000+ unit test suite green.
Every new feature, API endpoint, or configuration generator in AiPBX must respect these non-negotiable rules:
[from-internal-pbx-ortak], [local-extensions], [outbound-routes]) must never break. If a custom context is empty or removed, default PBX calling flows must remain 100% operational.web/auth.php to restrict access strictly to role_id === 1 (Admin). Database-level permission overrides must not bypass this circuit breaker..conf generators must be deterministic, pure functions that take data structures and return string contents.writeConfWithRollback($path, $content) to prevent partial or corrupted Asterisk reloads.CREATE TABLE or ALTER TABLE queries. All database schema adjustments must be encapsulated in Phinx migrations applied to both asterisk (production) and asterisk_test (unit test environment).web/lang/*.php). No PR or release is permitted with missing language keys (php web/bin/lint_lang.php or python3 scripts/i18n.py check must report 0 missing keys).web/tests/unit/.php web/bin/lint_lang.php
php web/bin/smoke.php
vendor/bin/phpunit
vendor/bin/phpstan analyse
For any new feature or substantial enhancement:
1. SPECIFY 2. PLAN & CHECKLIST 3. IMPLEMENT & VERIFY
(What & Why) (How & Technical Design) (Code, Tests & Release)
┌────────────────┐ ┌──────────────────────┐ ┌───────────────────────┐
│ User Stories │ ────► │ Schema / Asterisk │ ──► │ Phinx Migration │
│ Requirements │ │ Services / RBAC │ │ Code & Unit Tests │
│ Acceptance (DoD) │ Step-by-step tasks │ │ QA Gate & Deploy │
└────────────────┘ └──────────────────────┘ └───────────────────────┘
templates/feature.md into docs/specs/<number>-<feature-slug>.md.| Spec # | Feature | Status | Release |
|---|---|---|---|
001 |
Custom Asterisk Dialplan & Context Injection | Implemented | v1.50.35 |
002 |
iOS Mobile App Feature Parity & In-App Media Viewer | Implemented | v1.50.35 |
003 |
Reverse Proxy Architecture, Network Firewall Matrix & Cloudflare DNS-01 Validation | Implemented | v1.50.36 |
004 |
Web Video Meetings & Guest Conference Scheduling System | Implemented | v1.60.0 |