
Security News
TeamPCP Is Systematically Targeting Security Tools Across the OSS Ecosystem
TeamPCP is targeting security tools across the OSS ecosystem, turning scanners and CI pipelines into infostealers to access enterprise secrets.
@unclecat/agent-skills-cli
Advanced tools
Tài liệu phát triển Odoo 18 toàn diện, bao gồm các hướng dẫn về model, field, decorator, view, performance, controller và best practices.
Đây là bộ tài liệu tham khảo hoàn chỉnh cho phát triển Odoo 18, được tổ chức thành các module nhỏ có thể sử dụng độc lập hoặc kết hợp. Tài liệu dựa trên phân tích mã nguồn Odoo 18 gốc.
Cài CLI để install nhanh theo version Odoo và AI assistant:
npm install -g @unclecat/agent-skills-cli
# Cursor (tạo .cursor/commands/odoo.md + .shared/odoo/18.0)
agent-skills init --ai cursor odoo --version 18.0
# Claude Code (.claude/skills/odoo/18.0)
agent-skills init --ai claude odoo --version 18.0
# Antigravity (.agent/workflows/odoo.md + .shared/odoo/18.0)
agent-skills init --ai antigravity odoo --version 18.0
# Kiro (.kiro/steering/odoo.md + .shared/odoo/18.0)
agent-skills init --ai kiro odoo --version 18.0
# Lưu full docs vào docs/odoo/18.0
agent-skills init --ai docs odoo --version 18.0
# Cài tất cả
agent-skills init --ai all odoo --version 18.0
agent-skills versions odoo
odoo/18.0/
├── SKILL.md # File tham khảo chính - tổng quan
├── odoo-18-development-guide.md # Cấu trúc module, manifest, bảo mật, báo cáo, wizard
├── odoo-18-model-guide.md # ORM, CRUD, domain, recordset
├── odoo-18-field-guide.md # Các loại field (Char, Monetary, Many2one, v.v.)
├── odoo-18-decorator-guide.md # Decorator @api (depends, constrains, onchange, ondelete)
├── odoo-18-view-guide.md # XML view (list, form, search, kanban), action, menu
├── odoo-18-performance-guide.md # Ngăn chặn N+1 query, tối ưu hiệu năng
└── odoo-18-controller-guide.md # HTTP controller, routing, authentication
odoo-18-development-guide.md)Hướng dẫn tạo module Odoo 18 hoàn chỉnh:
__manifest__.py và tất cả các trườngodoo-18-model-guide.md)Tham khảo ORM và thao tác dữ liệu:
browse(), exists()search(), search_read(), read_group()create(), read(), write(), unlink()with_context(), with_user(), with_company()odoo-18-field-guide.md)Tất cả các loại field trong Odoo 18:
Char, Text, Html, Boolean, Integer, Float, Monetary, Date, Datetime, Binary, SelectionMany2one, One2many, Many2manycompute, store, search, inverseindex, default, copy, groups, company_dependentodoo-18-decorator-guide.md)API Decorators của Odoo:
@api.model - Model-level methods@api.depends - Computed fields (hỗ trợ dotted paths)@api.depends_context - Context-dependent computed fields@api.constrains - Validation (KHÔNG hỗ trợ dotted paths)@api.onchange - Form UI updates@api.ondelete - Delete validation (Odoo 18 mới)@api.returns - Return type specificationodoo-18-view-guide.md)XML Views và QWeb templates:
list (đổi từ tree), form, search, kanban, graph, pivot, calendareditable, decoration, optional, widgetsodoo-18-performance-guide.md)Tối ưu hiệu năng Odoo:
execute_query_dict()odoo-18-controller-guide.md)HTTP controllers và routing:
@route decorator với URL parametersauth='user', auth='public', auth='none'type='http', type='json'| Thay đổi | Odoo 17 | Odoo 18 |
|---|---|---|
| List view tag | <tree> | <list> |
| Delete validation | Override unlink() | @api.ondelete(at_uninstall=False) |
| Batch create | create({...}) | create([{...}, {...}]) |
| SQL queries | cr.execute() | env.execute_query_dict(SQL(...)) |
my_module/
├── __init__.py
├── __manifest__.py
├── models/
│ └── my_model.py
├── views/
│ └── my_model_views.xml
└── security/
└── ir.model.access.csv
odoo-18-development-guide.md để hiểu về manifest và cấu trúc module# TỐT: Sử dụng prefetch tự động
orders = self.search([('state', '=', 'done')])
for order in orders:
print(order.name, order.partner_id.name) # Partners được fetch theo batch
# XẤU: search trong vòng lặp (N+1 queries)
for order in orders:
payments = self.env['payment'].search([('order_id', '=', order.id)])
# TỐT: Sử dụng IN domain
payments = self.env['payment'].search_read([('order_id', 'in', orders.ids)])
Cần định nghĩa hành vi field?
├── Field tính từ các field khác → @api.depends
├── Validate dữ liệu → @api.constrains
├── Ngăn xóa record → @api.ondelete
└── Update form UI → @api.onchange
Cần định nghĩa hành vi method?
├── Method-level không phụ thuộc self → @api.model
└── Method record bình thường → không cần decorator
Xem odoo/18.0/AGENTS.md để biết cách sử dụng tài liệu này với Cursor, Claude Code, OpenCode, GitHub Copilot, v.v.
Settings → Rules → Add Remote Rulegit@github.com:unclecatvn/agent-skills.gitodoo/18.0Done! Rules tự động áp dụng cho TẤT CẢ projects của bạn.
Tất cả các hướng dẫn được dựa trên phân tích mã nguồn Odoo 18 gốc:
odoo/models.py - ORM implementationodoo/fields.py - Field typesodoo/api.py - Decoratorsodoo/http.py - HTTP layerodoo/exceptions.py - Exception typesgit@github.com:unclecatvn/agent-skills.git
MIT License
UncleCat
FAQs
CLI to install agent skills docs by version.
We found that @unclecat/agent-skills-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
TeamPCP is targeting security tools across the OSS ecosystem, turning scanners and CI pipelines into infostealers to access enterprise secrets.

Security News
TypeScript 6.0 introduces new standard APIs, modern default settings, and deprecations as it prepares projects for the upcoming TypeScript 7.0 release.

Security News
/Research
Newly published Trivy Docker images (0.69.4, 0.69.5, and 0.69.6) were found to contain infostealer IOCs and were pushed to Docker Hub without corresponding GitHub releases.