Contributing
Pycora Pro is a commercial product by Axcora Technology. Contributions are welcome for bugs, documentation, and templates.
Before You Contribute
Pycora Pro is not open source. The source code is sold under a proprietary End User License Agreement (EULA).
You may:
- Report bugs
- Suggest features
- Improve documentation
- Submit template examples
- Share extensions with the community
You may not:
- Redistribute the source code
- Publish forks publicly
- Sell modified versions of Pycora Pro itself
See LICENSE for details.
Reporting Bugs
Found a bug? Open an issue on GitHub:
👉 github.com/mesinkasir/pycora/issues
What to Include
A good bug report has:
- Pycora Pro version — check
ssg.pyor the header - Python version — output of
python --version - Operating system — Windows, macOS, or Linux
- Steps to reproduce — exact commands
- Expected behavior — what you thought would happen
- Actual behavior — what actually happened
- Error messages — full output, not a screenshot
- Minimal example — a small content file that triggers the bug
Example Bug Report
Pycora Pro version: 2.4.6
Python: 3.11.4
OS: Ubuntu 22.04
Steps:
1. Create content/test.md with frontmatter:
---
layout: layouts/post
title: "Test"
tags: [a, b]
---
2. Run python ssg.py
Expected: test page generated
Actual: build fails with "Unrecognized front-matter format"
Error output:
[paste full traceback here]
Suggesting Features
Have an idea? Open a discussion or issue:
👉 github.com/mesinkasir/pycora/discussions
What to Include
- The problem — what is hard or missing today
- The proposal — what you want added
- Why it matters — who benefits and how
- Alternatives — other approaches you considered
Features are prioritized by:
- How many users benefit
- How well it fits the minimalist philosophy
- How much it increases complexity
Contributing Documentation
Documentation is at docspycorapro.axcora.com.
To improve it:
- Fork the docs repository
- Make your changes in Markdown
- Submit a pull request
Docs Style Guide
- Clear and direct — short sentences
- Second person — "you", not "the user"
- Action-first — start with the verb
- No marketing fluff — explain what and why
- Code blocks — always specify the language
- Test every command — do not guess
Contributing Templates
If you build a template for Pycora Pro, you can share it with the community.
Template Checklist
- Works with the latest Pycora Pro
- No external dependencies beyond the standard stack
- Follows the folder structure (
content/,templates/,static/,_data/) - Includes a
README.mdwith setup instructions - Has a live demo or screenshots
Share via:
- A GitHub repo
- A blog post
- A post in the discussions
Reporting Security Issues
Do not open public issues for security vulnerabilities.
Instead, email:
Include:
- A description of the issue
- Steps to reproduce
- The potential impact
- Any suggested fix
We aim to respond within 72 hours.
Code Contributions
Code contributions to Pycora Pro itself are accepted on a case-by-case basis.
If you want to contribute code:
- Open an issue first to discuss the change
- Wait for approval from the maintainer
- Fork the repository
- Make your changes
- Submit a pull request
Coding Standards
- Python 3.8+ — no newer features
- No external dependencies beyond the standard stack (Jinja2, Markdown, PyYAML, watchdog)
- Readable over clever — clarity first
- Comment the why, not the what
- No breaking changes without discussion
Development Setup
To set up a development environment:
git clone https://github.com/mesinkasir/pycora.git
cd pycora
python install.py
python ssg.py
python dev.py
Test your changes with:
python ssg.py
Check the output/ folder for the result.
Testing Your Changes
Before submitting a pull request:
- Build a test site with
python ssg.py - Open
output/index.htmlin a browser - Check that all pages render
- Check that feeds and sitemap are generated
- Check that no error messages appear
There is no automated test suite — manual testing is expected.
Pull Request Process
- Fork the repo
- Create a branch:
git checkout -b feature/my-feature - Make your changes
- Commit:
git commit -m "Add my feature" - Push:
git push origin feature/my-feature - Open a pull request
In your PR description, include:
- What the change does
- Why it matters
- How you tested it
- Screenshots if relevant
What We Look For
When reviewing contributions:
- Clarity — is the change easy to understand?
- Scope — is it focused on one thing?
- Compatibility — does it work on Python 3.8+?
- Consistency — does it follow existing patterns?
- Documentation — are the docs updated?
We may request changes before merging.
Community
- GitHub: github.com/mesinkasir/pycora
- Website: axcora.com
- Docs: docspycorapro.axcora.com
Be respectful. Follow the Contributor Covenant.
Thank You
Every bug report, documentation fix, and template example makes Pycora Pro better.
Thank you for contributing.
— Axcora Technology