Did you read official codex documentation about theme development?
Anyway here are some points to note
At the very minimum, a WordPress Theme consists of two files:
A theme can optionally use a functions file, which resides in the theme subdirectory and is named functions.php.
This file basically acts like a plugin, and if it is present in the theme you are using, it is automatically loaded during WordPress initialization (both for admin pages and external pages)
Template Files List
Here is the list of the Theme files recognized by WordPress. Of
course, your Theme can contain any other stylesheets, images, or
files. Just keep in mind that the following have special meaning to
WordPress -- see Template Hierarchy for more information.
The main stylesheet. This must be included with your Theme, and it
must contain the information header for your Theme.
The rtl stylesheet. This will be included automatically if the
website's text direction is right-to-left. This can be generated using
the the RTLer plugin.
The main template. If your Theme provides its own templates, index.php
must be present.
The comments template.
The front page template, it is only used if you use a static front
The home page template, which is the front page by default. If you use
a static front page this is the template for the page with the latest
The single post template. Used when a single post is queried. For this
and all other query templates, index.php is used if the query template
is not present.
The single post template used when a single post from a custom post
type is queried. For example, single-books.php would be used for
displaying single posts from the custom post type books. index.php is
used if the query template for the custom post type is not present.
The page template. Used when an individual Page is queried.
The category template. Used when a category is queried.
The tag template. Used when a tag is queried.
The term template. Used when a term in a custom taxonomy is queried.
The author template. Used when an author is queried.
The date/time template. Used when a date or time is queried. Year,
month, day, hour, minute, second.
The archive template. Used when a category, author, or date is
queried. Note that this template will be overridden by category.php,
author.php, and date.php for their respective query types.
The search results template. Used when a search is performed.
Attachment template. Used when viewing a single attachment.
Image attachment template. Used when viewing a single image
attachment. If not present, attachment.php will be used.
The 404 Not Found template. Used when WordPress cannot find a post or
page that matches the query.
Here are some resources for faster theme development
- WordPress frameworks and parent themes
- framework for plugin/theme options panel
- Best Collection of Code for your functions.php file
- Best collection of code for your .htaccess file