Skip to main content

odoo-agile-scrum-devops

Comprehensive Agile Scrum framework for Odoo ERP development with Finance Shared Service Center workflows, OCA community standards, CI/CD automation, BIR compliance, and multi-agency task management. Use when planning Odoo sprints, managing Finance SSC operations, deploying to DigitalOcean, or coordinating work across agencies (RIM, CKVC, BOM, JPAL, JLI, JAP, LAS, RMQB).

Aller à l'installation

Informations de source

Dépôt
jgtolentino/insightpulse-odoo
Dernière activité de la source
3 novembre 2025 à 17:52
Langue détectée de SKILL.md
anglais
Étoiles
22
Forks
10

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
7 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
odoo-agile-scrum-devops
description
Comprehensive Agile Scrum framework for Odoo ERP development with Finance Shared Service Center workflows, OCA community standards, CI/CD automation, BIR compliance, and multi-agency task management. Use when planning Odoo sprints, managing Finance SSC operations, deploying to DigitalOcean, or coordinating work across agencies (RIM, CKVC, BOM, JPAL, JLI, JAP, LAS, RMQB).
# Odoo Agile Scrum DevOps Master Skill ## Overview This skill combines Agile Scrum methodologies with Odoo development best practices, Finance Shared Service Center operations, OCA community standards, and enterprise DevOps workflows. It's specifically designed for managing odoboo-workspace and InsightPulse AI projects with integration to Notion, Supabase, and DigitalOcean. ## When to Use This Skill **Trigger this skill for:** - Planning Odoo module development sprints (odoboo-workspace, InsightPulse AI) - Creating user stories for Finance SSC features (BIR compliance, month-end closing, travel & expense) - Setting up CI/CD pipelines for Odoo 18/19 deployments - Managing multi-agency workflows across RIM, CKVC, BOM, JPAL, JLI, JAP, LAS, RMQB - Integrating Odoo with Notion task management via MCP tools - Deploying to DigitalOcean (project ID: 29cde7a1-8280-46ad-9fdf-dea7b21a7825) - Connecting Odoo to Supabase (project: spdtwktxdalcfigzeqrz) for pgvector operations - Implementing OCA module standards and contributing to OCA repositories ## Project Context ### Core Projects 1. **odoboo-workspace**: Odoo 18/19 deployment with OCA modules, DigitalOcean hosting, Supabase integration 2. **InsightPulse AI** (insightpulseai.net): Self-hosted Odoo ERP with AI document processing (PaddleOCR, RTX 4090) 3. **Finance SSC**: Multi-agency Philippine tax compliance and month-end closing automation ### Tech Stack - **ERP**: Odoo 18/19 Community with OCA modules - **Cloud**: DigitalOcean App Platform, Managed PostgreSQL, Spaces (S3) - **Database**: Supabase PostgreSQL with pgvector, Qdrant vector database - **AI/ML**: PaddleOCR-VL, Custom OCR models for BIR forms - **DevOps**: Docker, GitHub Actions, pre-commit hooks - **Frontend**: Vercel deployments for custom dashboards - **Orchestration**: Docker Compose, SuperClaude multi-agent framework --- ## Sprint Planning Framework ### Sprint Cycle (2-week iterations) #### Week 1: Planning & Development **Days 1-2: Sprint Planning** 1. **Backlog Grooming** (use Notion MCP tools) ``` Use notion-fetch to retrieve sprint backlog from Notion database Review and prioritize user stories with Product Owner Estimate story points using Fibonacci sequence (1,2,3,5,8,13,21) ``` 2. **Sprint Goal Definition** - Define clear, measurable sprint goal - Align with Finance SSC monthly objectives (month-end closing, BIR deadlines) - Identify dependencies across agencies 3. **Task Breakdown** (use notion-create-pages) - Break user stories into technical tasks - Assign to team members or agencies - Set up task tracking with External ID for deduplication **Days 3-8: Active Development** - Daily standup (async via Notion comments) - Continuous integration via GitHub Actions - Code review with OCA standards validation #### Week 2: Review & Deployment **Days 9-10: Sprint Review & Demo** - Demo to stakeholders (Finance SSC team, agency representatives) - Deploy to DigitalOcean staging environment - Update sprint metrics in Notion **Days 11-12: Retrospective & Planning Prep** - Retrospective (What went well? What needs improvement?) - Prepare backlog for next sprint - Update documentation ### User Story Templates #### Finance SSC User Story Template ```markdown ## User Story: [Feature Name] **As a** [Finance Manager / Accountant / BIR Compliance Officer] **I want** [specific functionality] **So that** [business value / time saved / compliance achieved] **Agency Impact:** [RIM / CKVC / BOM / JPAL / JLI / JAP / LAS / RMQB / All] **Acceptance Criteria:** - [ ] Criterion 1 (must be testable) - [ ] Criterion 2 (must be measurable) - [ ] Criterion 3 (must include compliance requirement if BIR-related) - [ ] Automated tests written and passing - [ ] Documentation updated in Notion **Story Points:** [Fibonacci number] **Priority:** [Critical / High / Medium / Low] **Sprint:** [Sprint number and date range] **Technical Notes:** - Odoo module: [module_name] - OCA dependencies: [list OCA modules] - Supabase integration: [Yes/No, describe if yes] - External APIs: [BIR, Notion, other] **Definition of Done:** - [ ] Code reviewed by 2 team members - [ ] Passes pre-commit hooks (pylint-odoo, flake8) - [ ] Unit tests coverage >= 80% - [ ] Integration tests passing - [ ] Deployed to staging and validated - [ ] User acceptance testing completed - [ ] Production deployment successful - [ ] Monitoring alerts configured ``` #### Example: BIR Form 1601-C Automation ```markdown ## User Story: Automated BIR Form 1601-C Generation **As a** Finance Manager **I want** automated generation of BIR Form 1601-C with employee withholding tax data **So that** I save 3 hours per month and ensure 100% BIR compliance accuracy **Agency Impact:** All (RIM, CKVC, BOM, JPAL, JLI, JAP, LAS, RMQB) **Acceptance Criteria:** - [ ] System reads employee payroll data from Odoo HR module - [ ] Generates XML in BIR eFPS format (Form 1601-C) - [ ] Validates ATP (Authorization to Print) requirements - [ ] Creates audit trail in Odoo with document versioning - [ ] Supports multiple agencies with separate TIN codes - [ ] Email notification sent to Finance SSC manager upon generation - [ ] PDF preview generated before submission **Story Points:** 8 **Priority:** Critical **Sprint:** Sprint 12 - Nov 1-15, 2025 **Technical Notes:** - Odoo module: `finance_bir_compliance` - OCA dependencies: `account`, `hr_payroll`, `report_xlsx` - Supabase integration: No - External APIs: BIR eFPS API (staging), Email service **BIR Compliance Requirements:** - Form must include: TIN, Taxpayer Name, Address, Return Period - Withholding tax amounts must be rounded to 2 decimal places - XML schema validation against BIR XSD - ATP number must be printed on hard copy **Definition of Done:** - [x] Code reviewed by 2 team members - [x] Passes pre-commit hooks - [x] Unit tests coverage 85% - [x] Integration tests with BIR staging API passing - [ ] Deployed to staging and validated by Finance Manager - [ ] UAT completed with sample data from all 8 agencies - [ ] Production deployment planned for Nov 20, 2025 - [ ] Sentry monitoring configured for BIR API errors ``` #### Example: Travel Expense OCR Processing ```markdown ## User Story: Receipt OCR with PaddleOCR Integration **As a** Employee submitting travel expenses **I want** to upload receipt photos that are automatically processed **So that** I don't spend 15 minutes manually entering data per receipt **Agency Impact:** All **Acceptance Criteria:** - [ ] Mobile upload interface accepts JPG/PNG/PDF - [ ] PaddleOCR extracts: merchant name, date, total amount, tax amount - [ ] Confidence score >= 90% for auto-approval, <90% flags for review - [ ] Extracted data populates Odoo expense form fields - [ ] Original image stored in DigitalOcean Spaces - [ ] OCR results stored in Supabase with pgvector for similarity search - [ ] Supports multiple languages (English, Tagalog) **Story Points:** 13 **Priority:** High **Sprint:** Sprint 13 - Nov 16-30, 2025 **Technical Notes:** - Odoo module: `expense_management_ocr` - OCA dependencies: `hr_expense`, `document_management` - Supabase integration: Yes (pgvector for receipt deduplication) - External APIs: None (self-hosted PaddleOCR on RTX 4090) - Hardware: RTX 4090 optimization required **Definition of Done:** - [ ] Code reviewed by 2 team members - [ ] GPU memory optimization completed (batch processing) - [ ] 95% accuracy on test dataset (100 sample receipts) - [ ] Response time < 3 seconds per receipt - [ ] Deployed to staging with GPU server - [ ] Performance testing under load (50 concurrent uploads) - [ ] User documentation created with video tutorial ``` --- ## Odoo Development Standards ### OCA Module Structure Follow OCA community standards for all Odoo modules: ``` my_odoo_module/ ├── __init__.py ├── __manifest__.py # Module metadata, dependencies, version ├── models/ │ ├── __init__.py │ ├── model_name.py # Business logic, field definitions │ └── model_name_view.xml # UI views ├── views/ │ ├── menu_items.xml │ └── templates.xml ├── security/ │ ├── ir.model.access.csv # Access control │ └── security_groups.xml ├── data/ │ └── data.xml # Master data ├── reports/ │ └── report_template.xml ├── static/ │ ├── description/ │ │ ├── icon.png │ │ └── index.html │ └── src/ │ ├── js/ │ └── css/ ├── tests/ │ ├── __init__.py │ ├── test_model.py │ └── test_integration.py ├── i18n/ # Translations │ ├── en_US.po │ └── fil_PH.po # Filipino translation ├── README.rst └── LICENSE ``` ### __manifest__.py Template ```python # Copyright 2025 Jake Tolentino # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { "name": "Finance BIR Compliance", "version": "19.0.1.0.0", "category": "Accounting/Localizations", "summary": "Philippine BIR tax forms automation and compliance", "author": "Jake Tolentino, Odoo Community Association (OCA)", "website": "https://github.com/OCA/l10n-philippines", "license": "AGPL-3", "depends": [ "account", "hr_payroll", "l10n_ph", # Philippine localization ], "data": [ "security/ir.model.access.csv", "views/bir_form_views.xml", "views/menu_items.xml", "reports/bir_1601c_report.xml", ], "demo": [ "demo/bir_form_demo.xml", ], "installable": True, "application": False, "auto_install": False, } ``` ### Git Workflow #### Branch Naming Convention (OCA Standard) ```bash # Format: {version}-{type}-{module_name} # Types: feature, fix, refactor, docs # Examples: git checkout -b 19.0-feature-finance_bir_compliance git checkout -b 18.0-fix-expense_ocr_confidence git checkout -b 19.0-refactor-multi_agency_reports ``` #### Commit Message Convention ```bash # Format: [TAG] module_name: Short description # Tags: ADD, FIX, REF, REM, MOV, REL, I18N, MERGE # Examples: git commit -m "[ADD] finance_bir_compliance: BIR Form 1601-C XML generator" git commit -m "[FIX] expense_ocr: Handle rotated receipt images" git commit -m "[REF] multi_agency: Optimize database queries for 8 agencies" git commit -m "[I18N] finance_bir: Add Filipino translations for forms" ``` #### Pre-commit Hooks Setup ```bash # Install pre-commit framework pip install pre-commit --break-system-packages # Create .pre-commit-config.yaml cat > .pre-commit-config.yaml << 'EOF' repos: - repo: https://github.com/OCA/pylint-odoo rev: v8.0.20 hooks: - id: pylint-odoo args: ["--rcfile=.pylintrc"] - repo: https://github.com/psf/black rev: 23.3.0 hooks: - id: black args: ["--line-length=88"] - repo: https://github.com/PyCQA/flake8 rev: 6.0.0 hooks: - id: flake8 args: ["--max-line-length=88", "--extend-ignore=E203,W503"] - repo: https://github.com/PyCQA/isort rev: 5.12.0 hooks: - id: isort args: ["--profile=black"] - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.4.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml - id: check-added-large-files args: ["--maxkb=1024"] EOF # Install hooks pre-commit install ``` --- ## CI/CD Pipeline Configuration ### GitHub Actions Workflow Create `.github/workflows/odoo-ci-cd.yml`: ```yaml name: Odoo CI/CD Pipeline on: push: branches: [main, develop, '**-feature-**', '**-fix-**'] pull_request: branches: [main, develop] env: ODOO_VERSION: "19.0" POSTGRESQL_VERSION: "15" DO_PROJECT_ID: "29cde7a1-8280-46ad-9fdf-dea7b21a7825" SUPABASE_PROJECT_ID: "spdtwktxdalcfigzeqrz" jobs: lint: name: Code Quality Checks runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python 3.11 uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install dependencies run: | pip install --break-system-packages pre-commit pylint-odoo flake8 black isort - name: Run pre-commit hooks run: pre-commit run --all-files - name: Run pylint-odoo run: | find . -name "*.py" -not -path "./venv/*" | xargs pylint-odoo --rcfile=.pylintrc test: name: Unit & Integration Tests runs-on: ubuntu-latest needs: lint services: postgres: image: postgres:15 env: POSTGRES_DB: test_db POSTGRES_USER: odoo POSTGRES_PASSWORD: odoo_test_password options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 5432:5432 steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Build Odoo test image run: | docker build -t odoo-test:${{ env.ODOO_VERSION }} \ --build-arg ODOO_VERSION=${{ env.ODOO_VERSION }} \ -f Dockerfile.test . - name: Run Odoo unit tests run: | docker run --rm \ --network host \ -e DB_HOST=localhost \ -e DB_PORT=5432 \ -e DB_USER=odoo \ -e DB_PASSWORD=odoo_test_password \
Voir sur GitHub
Ce SKILL.md est tres volumineux, SkillsMP affiche donc ici seulement la premiere section. Voir sur GitHub